带有link_to的绝对URL ... Ruby on Rails

时间:2011-02-25 12:42:28

标签: ruby-on-rails

是否可以使用link to rails在rails中生成绝对URL? [注意:这是在MAILER中]

我试着这样做:

<%= link_to root_url, root_url%>

但是我收到了运行时错误:

*缺少主机链接!请提供:host参数或设置default_url_options [:host] *

我需要这是动态的,因为应用程序将在通配符域(* .domain.com)上运行

4 个答案:

答案 0 :(得分:43)

如果使用_url后缀,则生成的URL是绝对的。使用_path获取相对网址。

<%= link_to "Home", root_url %>

<%= link_to "Home", root_path %>

答案 1 :(得分:7)

根据您的使用情况,字符串插值可能是一个很好的解决方案:

link_to(body, "http://#{site_url}")

答案 2 :(得分:4)

答案 3 :(得分:0)

在routes.rb中插入:

root :to => 'controller#action'

或者用正确的map.root替换当前的map.root。

请参阅有关此文档的文档:routes.rb usage