是否存在类似“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上正确的方式。我在这里。
答案 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