私のアプリケーションでは、エントリがユーザーのテーブルに入るか、新しいユーザーがサインアップした後に、確認メールが送信されます。しかし、私のアプリケーションでは、devise invitable も使用しています。その中で User.invite を実行すると招待状が送信されますが、エントリは users テーブルにも入るため、確認メールも送信されます。しかし、ユーザーへの招待状の送信中に送信される確認メールを停止できますか? 招待状の追加skip_confirmation: true
中に追加しましたが、それでも確認メールが送信されます。誰かがこれに対する解決策を提案できますか?
1 に答える
0
のdevise_invitableコントローラーアクションを変更することで、これ(およびその他のいくつかの変更)を行いましたcreate
。READMEには、この道を歩み始めるための「Configuring Controllers」というセクションがあります。
そのセクションの指示に従って、Devise::InvitationsController から継承する新しいコントローラーを作成します。新しく作成されたコントローラーには、そのcreate
メソッドを使用するメソッドがskip_confirmation!
含まれsuper
ており、親コントローラーを (参照) してアクションを終了します。
これはテストされていないコードですが、次のようなコードになります。
class Users::InvitationsController < Devise::InvitationsController
def create
resource.skip_confirmation!
super
end
end
デフォルトの Devise_Invitable の動作を変更する方法を考えていたとき、ソース コントローラーを見ると非常に役立つことがわかりました。
于 2013-09-20T19:00:02.847 に答える