当用户使用Devise视图请求发送到其电子邮件的重置链接时,他会收到包含此内容的电子邮件:
你好example@gmail.com!
有人请求更改密码的链接。您可以通过以下链接执行此操作。
更改我的密码
(指向)
本地主机:3000 /用户/密码/编辑reset_password_token = some_token
如果您没有要求,请忽略此电子邮件 您的密码不会更改,直到您访问上面的链接并创建一个新密码。
现在,除非我在不同的端口上托管rails服务器,否则这一切都很酷,但是
rails server -p 5678
然后 链接指向localhost:3000
。
我知道request.ip
和request.port
,但我无法找到更改Devise邮件程序对象的位置。用于此邮件的邮件模板的相关部分是
<%= link_to 'Change my password', edit_password_url(@resource, reset_password_token: @token) %>
调试后,似乎@resource
是User
- 对象,并且不包含任何URL。
长话短说:如何让Devise邮件的网址(ip / port部分)变得动态?