ユーザー モデルで :reconfirmable というデバイス オプションを使用したいので、ユーザーが電子メールを変更するたびに、電子メールで送信されたリンクで確認する必要があります。
大きな問題は、メールが送信されないことです...
私のセットアップはdevise 2.1.2です:
ユーザーモデル:
attr_accessible: unconfirmed_email, ...
devise :invitable, :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable, :confirmable, :omniauthable
初期化装置devise.rbで:
config.reconfirmable = true
ルートで:
devise_for :users
フォームでは、モデル フィールド unconfirmed_email が適切に設定されます。これをコンソールから確認しました。
ユーザーがページに登録したときの最初の確認メールは、問題なく送信されます。
after_update フックとしてトリガーされるデバイス メソッドを上書きするために、このコードを初期化ディレクトリに追加して問題のデバッグを試みました。
module Devise::Models::Confirmable
def send_confirmation_instructions
debugger
end
end
デバッガーに到達しないため、 send_confirmation_instructions が呼び出されないようです。
どうにかして reconfirmable を呼び出す必要がありますか、それともモデル属性 "unconfirmed_email" を新しい電子メール アドレスに設定するときに自動的にトリガーされますか?
助けてくれてありがとう、j。