【发布时间】:2016-02-28 19:32:31
【问题描述】:
我正在使用 Devise 3.5.2 在我的 Rails 4.2 应用程序中处理用户确认。确认电子邮件已正确接收。但是,电子邮件中的确认链接根本不包含协议。这在开发中不是问题,但将在生产中。
例如,而不是这样:
http://localhost:3000/users/confirmation?confirmation_token=eBjysKrWkFHBf46qUf1Q
我明白了:
localhost:3000/users/confirmation?confirmation_token=eBjysKrWkFHBf46qUf1Q
config/environments/development.rb
config.action_mailer.default_url_options = { protocol: 'http', host: 'localhost', port: 3000 }
所以我不知道为什么没有附加协议字符串。我搜索了许多相关问题,但没有找到相关的解释。有什么想法我可能做错了吗?
【问题讨论】:
-
请给我们看邮件视图
-
生产环境中有
localhost吗? -
包含您的
config/environments/development.rb文件 -
网址开头缺少协议可能没问题。服务器会自动将 http 重定向到 https。我已经测试过了,它工作正常。也许这是按设计工作的设计?
标签: ruby-on-rails devise