deviseと連携して使える招待の拡張機能メモ
https://github.com/scambra/devise_invitable
招待用のカラムを追加
def change
add_column :users, :invitation_token, :string
add_column :users, :invitation_created_at, :datetime
add_column :users, :invitation_sent_at, :datetime
add_column :users, :invitation_accepted_at, :datetime
add_column :users, :invitation_limit, :integer
add_column :users, :invited_by_id, :integer
add_column :users, :invited_by_type, :string
add_index :users, :invitation_token, :unique => true
end
modelで招待を有効にする
devise :database_authenticatable, :confirmable, :invitable, :invite_for => 2.weeks
招待の期限とかも設定できるのいいですね
招待メールの送信
User.invite!(:email => "user@example.com", :name => "xxxxxxxx")
招待の承認
User.accept_invitation!(:invitation_token => params[:invitation_token], :password => "zzzzzzzz", :name => "xxxxxxxx")
その他
色々カスタマイズできます。ドキュメントも充実してるので参考に。
https://github.com/scambra/devise_invitable