LoginSignup
30
31

More than 5 years have passed since last update.

[Rails]Devise使ってて招待機能を実装したい時に使えるdevise_invitable

Last updated at Posted at 2014-08-03

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

30
31
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
30
31