Rails - 在电子邮件中使用带有路径路径的`url_for`不包括主机

时间:2014-10-07 22:55:05

标签: ruby-on-rails ruby-on-rails-4

虽然没有很好地记录,也没有在示例中显示,url_for可以与路径一起使用(例如,url_for(signup_path)会产生/signup)与控制器和操作。

但是,在执行此操作时,如果在相应的环境文件中设置了主机,则不包括主机。

参考:http://api.rubyonrails.org/classes/ActionDispatch/Routing/UrlFor.html

为什么这是行为?

2 个答案:

答案 0 :(得分:2)

如果您需要完整的网址,请使用:

url_for(signup_url)

来自route helpers上的Rails指南:

  

这些[_path]帮助程序中的每一个都有一个对应的_url帮助程序(例如photos_url),它返回前缀为当前主机,端口和路径前缀的相同路径。

答案 1 :(得分:0)

使用url_for在电子邮件中生成链接可能不是您想要的方式。在任何情况下,如果您希望在链接中附加适当的环境,请使用signup_url而不是signup_path。

<%= link_to "Signup", signup_url %>