0

私のアプリケーションでは、エントリがユーザーのテーブルに入るか、新しいユーザーがサインアップした後に、確認メールが送信されます。しかし、私のアプリケーションでは、devise invitable も使用しています。その中で User.invite を実行すると招待状が送信されますが、エントリは users テーブルにも入るため、確認メールも送信されます。しかし、ユーザーへの招待状の送信中に送信される確認メールを停止できますか? 招待状の追加skip_confirmation: true中に追加しましたが、それでも確認メールが送信されます。誰かがこれに対する解決策を提案できますか?

4

1 に答える 1

0

のdevise_invitableコントローラーアクションを変更することで、これ(およびその他のいくつかの変更)を行いましたcreateREADMEには、この道を歩み始めるための「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 に答える