我正在编写一个非常传统的忘记密码电子邮件 - 我想通过发送包含在链接中的密码更改令牌来向用户发送电子邮件,以便他们可以单击该链接以更改其密码。我通过传统的ActionMailer发送电子邮件。
如果我使用普通的link_to标签
<%= link_to "click here", :controller => foo, :action => 'bar', :token => token %>
我从邮件中获取了一个相对链接,这没什么用。
如果我加上
:only_path => false
,则会出现错误,提示我需要设置default_url_options[:host]
。ActionController文档暗示您可以通过在控制器中重写#default_url_options方法来完成此操作。肯定有一种配置选项可以告诉Rails主机名是什么,而无需添加我的自己的配置文件、解析等等。