私はRails 3をDevitsでセットアップしましたが、ちょっとねじれています。私はすべてのユーザのメールをemails
テーブルに保存しています。パスワードを忘れた場合の問題が発生しています。 Deviseがユーザーの電子メールを探してパスワードリセットを送信するために使用するいくつかの方法を無効にする必要があることを知っていますが、どこから開始するのかはわかりません。あなたが私に与えることができるアドバイスは、とても感謝しています。Rails 3 Deviseパスワードを忘れた複数のメールアドレス
0
A
答えて
0
同様の質問に対して私のanswerを参照してください。あなたはそれが複数の電子メールに送信するためにDevise::Mailer
にメーラーオーバーライドheaders_forを作成します。
def headers_for(action)
#grab the emails somehow
@emails = resource.emails.map{|email| email.column_name}
if action == :reset_password_instructions
headers = {
:subject => translate(devise_mapping, action),
:from => mailer_sender(devise_mapping),
:to => @emails,
:template_path => template_paths
}
else
# otherwise send to the default email--or you can choose just send to all of them regardless of action.
headers = {
:subject => translate(devise_mapping, action),
:from => mailer_sender(devise_mapping),
:to => resource.default_email,
:template_path => template_paths
}
end
if resource.respond_to?(:headers_for)
headers.merge!(resource.headers_for(action))
end
unless headers.key?(:reply_to)
headers[:reply_to] = headers[:from]
end
headers
end
2
工夫は、モデル法[メール]からメールアドレスを取得します。したがって、電子メールモデルで電子メールテーブルにすべての電子メールを保存する場合は、ユーザーのモデルに「電子メール」メソッドを定義し、電子メールテーブルからアドレスを返すことができます。
class User < ActiveRecord::Base
devise :database_authenticatable, :recoverable, :rememberable, :authentication_keys => [ :login ], :reset_password_keys => [ :login ]
has_many :emails
...
def email
emails.map{|record| record.email }
end
end
関連する問題
- 1. パスワードの忘れたパスワード論理
- 2. SocialEngineのパスワードを忘れたページのレイアウト?
- 3. Deviseでメールアドレス+パスワードを使用してユーザーを検索
- 4. Rails 3 Devise Registrationsコントローラエラー
- 5. パスワードを忘れましたRESTリソース
- 6. パスワードを忘れましたDevits gem API
- 7. Rails 4、Devise、Omniauth(複数のプロバイダで)
- 8. Devise + Omniauth + fb_graph + Rails 3チュートリアル
- 9. Rails 3 with DeviseとIE cookie
- 10. Rails 3 username認証されたDeviseリソースのURLにあるユーザパスワード
- 11. パスワードの忘れたパスワードメールのためにbcryptを使用する
- 12. Rails 3バリデーション、複数のフィールド
- 13. Railsの3 - 複数通貨
- 14. Deviseアラートを修正する(Rails 3)
- 15. コントローラでdevise rails 3でユーザを認証
- 16. Rails 3 Devise、localhost indexへのルート
- 17. Rails 3とDeviseのロール認可
- 18. SFHFKeychainUtilsは私のユーザーのパスワードを忘れました
- 19. VS Projectのpfxファイルのパスワードを忘れました
- 20. Microstrategy Administratorのパスワードを忘れましたか?
- 21. PHPパスワードを忘れた場合の方法
- 22. 複数の検証用のRails 3(ゾンビのためのRails; 2:3)
- 23. Rails 3、ネストされた複数レベルのフォームとhas_manyから
- 24. Rails 3 Devise - Webサービスによる認証
- 25. Magentoはパスワードを忘れたメールを送信しない
- 26. パスワードを忘れた場合電子メールを送信しない
- 27. パスワードを忘れた方ワードプレスを作る方法
- 28. hsqldbバイパス認証:忘れたユーザーとパスワードをリセットする
- 29. 複数のデータベースユーザーRails 3のアプリケーション
- 30. Google Maps with Rails 3複数のマーカー