如何在Rails 3中获取资源的绝对路径?

时间:2011-01-21 08:08:30

标签: ruby-on-rails ruby-on-rails-3

我想获得一个资源的完整绝对路径,包括Rails 3中的域名。

示例:要获取我尝试过的主页的完整路径:

url_for( :controller => 'home', :action => 'index' )

root_path

但两个都只是给我:/但我想:http://www.example.com/

答案也适用于我的开发服务器并返回:http://localhost:3000/

3 个答案:

答案 0 :(得分:42)

使用root_url。最后的_url扩展名会提供完整的网址,例如http://localhost:3000/projects/1/tickets/2

答案 1 :(得分:26)

Ryan的回答是完全正确的。

但是,如果有一天你真的需要使用url_for,只需将:only_path => false添加到它的选项中,它就会为你提供绝对的网址。 ;)

答案 2 :(得分:0)

如果您想要资源网址(而不仅仅是根网址)。您必须使用resoure_name_url(@resource_instance)

示例:

resource_url(@resource_instance)

或者,如果您有(例如)用户资源:

user_url(@user)