生成一个没有html标记的对象的绝对URL

时间:2011-04-15 19:29:01

标签: ruby-on-rails

是否存在类似“full_url”的方法,以便@ comment.full_url或full_url_for(@comment)返回“http://www.host.com/comments/id”,其中www.host.com是默认主机域和id是@ comment.id。或者,如果没有,那么生成这个url字符串的优雅方法是什么?

我在Rails上很新,我学到的大多数方法都会插入标记和其他标记。

url_for没有帮助,因为我无法执行以下操作:

url_for(@comment, {:only_path => false})

我花了太多时间试图解决这个问题。它归结为黑客或要求在SO上正确的方式。我在这里。

1 个答案:

答案 0 :(得分:2)

如果您在config/routes.rb文件中正确设置路线,那么您应该可以访问控制器和视图中的命名路线。这应该意味着您需要做的就是:

comment_path(@comment)

或完整网址

comment_url(@comment)

要从命令行查看所有路由的列表,可以从项目根目录中键入rake routes。欢迎来到rails!这是rails 3路由的一个很好的资源:http://guides.rubyonrails.org/routing.html

通过Railscasts获得一些额外资源:

http://railscasts.com/episodes/231-routing-walkthrough

http://railscasts.com/episodes/232-routing-walkthrough-part-2