微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Rails3 + Devise:edit_password_url吐出http // www.blah.comhttp不冒号!

如何解决Rails3 + Devise:edit_password_url吐出http // www.blah.comhttp不冒号!

| 无论出于何种原因,当用户从生产服务器通过我们的应用程序向我们发送更改密码链接邮件时,他们将获得一个绝对的URL,而没有冒号http://。结果,人们抱怨链接无效。 该问题仅发生在我的生产环境中,但是我在
/config/environments/production.rb
中设置了此设置:
config.action_mailer.default_url_options = { :host => \'http://www.blah.com\' }
所以我不确定可能是什么问题。我还在整个站点搜索了字符串“ http // \”,以查看它是否只是某个地方的错字,但没有骰子。
confirmation_instructions.html.erb
本身保持不变,并且这样生成链接
<p><%= link_to \'Confirm my account\',confirmation_url(@resource,:confirmation_token => @resource.confirmation_token) %></p>
那么,什么废话会导致我的服务器从http://丢弃::?有人遇到过这个问题吗?关于如何解决它的任何理论?提前致谢!     

解决方法

        我也遇到了这个问题。问题(奇怪)是您在default_url_options(:host => \'http://www.blah.com \')中使用了完整URL。如果您输入www.blah.com,它似乎可以工作。昨晚我遇到了这个问题,这对我来说是最快的解决方法。     ,        创建新的Mailer扩展Devise :: Mailer并覆盖他的方法:
def reset_password_instructions(record)
end
def confirmation_instructions(record)
end
def unlock_instructions(record)
end
接下来转到config / initializers / devise.rb并在config.mailer之前删除哈希 在此放置您自己的邮件程序。 就这样     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。