deviseでconfirmable設定をした際に、メアドのactivationメール(確認メール)の送信をスキップさせる方法のメモ。
obj.skip_confirmation!
↑の様に書けばスキップします。
skip_confirmation!を指定するタイミング
@user.saveのタイミングで(UserモデルをDeviseの管理対象にしている場合)、メールが送信される様です。
なので、skip_confirmation!は@user.saveの前に書きます。
new〜saveの間ですかね。
user = User.new(:username => data.name,
:email => data.email,
:password => Devise.friendly_token[0,20]
)
user.skip_confirmation!
user.save
こんな流れになるかと思います。
例
class Users::RegistrationsController < Devise::RegistrationsController
def create
@user = User.new(sign_up_params)
@user.skip_confirmation!
if @user.save
#@user.skip_confirmation! #not moved
end
end