Rails mailer edit_user_url使用http而不是https

问题描述:

我的整个应用程序都是https,没有http。Rails mailer edit_user_url使用http而不是https

如果添加以下任何的意见

我得到一个“编辑用户”链接到

https://localhost:3000/user/2/edit

但是,当我把在同一行的邮件查看电子邮件包含

http://localhost:3000/user/2/edit

请注意“http”而不是“https”?

使用

轨3.0.5和1.8.7的红宝石

我相信,你必须把你的config /环境/ production.rb:

config.action_mailer.default_url_options = {:protocol => 'https'} 
+0

甜,这是做到了。谢谢! – 2011-04-24 04:14:41

+1

尽管这对保护电子邮件链接起作用,但它可能不是最好的主意。如果您需要更改域名,则需要维护两个安全站点,否则所有到旧域的HTTPS链接都将中断。最好有电子邮件链接不依赖于维护旧的SSL证书。 – 2014-11-26 22:29:27

编辑我的配置/环境/开发文件与

host = "hostaddress.io"  
config.action_mailer.default_url_options = { host: host, protocol: 'https' } 

为我在Rails 4.2.2上工作。

+0

如果您试图让Rails教程示例应用的帐户激活电子邮件链接正常工作,那么这就是要走的路。 – tacos1998 2016-03-02 15:01:05