2011-12-08 9 views
2

Devise 1.51を搭載したRails 3.1.1アプリでは、確認メッセージで使用される確認リンクをhttpではなくhttpsにしたいと考えています。Devise確認リンクを使用してhttpsを使用する

https://mysite.com/users/confirmation?confirmation_token=

私が追加しようとした:設定/環境/ production.rb

config.to_prepare { Devise::SessionsController.force_ssl } 
config.to_prepare { Devise::RegistrationsController.force_ssl } 
config.to_prepare { Devise::ConfirmationsController.force_ssl } 

が、それがなかったので、メールで "確認リンク" のようなものを指します助けません。誰もがこれを行う適切な方法を知っていますか?私はdevise/mailer/confirmation_instructions.html.erbのビューに入ることができ、そこにconfirmation_url()を代入することができますが、すべてがhttpsであることを確認するより良い方法があるかどうかを知りたいと思います。ヒット)非常にありがとう。

答えて

9

私はRails 3.1.3とDevise 1.5.2を使用していますが、同じ問題がありましたが、原因はActionMailerです。

config.action_mailer.default_url_options = { :host => 'mysite.com' } 

へ:私は

config/environments.production.rbでactionmailerののdefault_url_optionsにHTTPSを追加する必要がありました、私は変更

config.action_mailer.default_url_options = { :host => 'mysite.com', :protocol => 'https' } 

考案者の電子メール(確認は、など、アンロック)のすべてのいずれかのためにhttpsを使用しますリンク。

関連する問題