【问题标题】:Rails Devise confirmation email link missing protocol entirelyRails 设计确认电子邮件链接完全缺少协议
【发布时间】: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


【解决方案1】:

只要指定变量如下就足够了

config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-12
    • 2011-08-22
    • 1970-01-01
    • 2013-04-25
    • 2011-05-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多