给定这条路线
match 'posts/hello/:name/:title' => 'post#show', :as => :hello
hello_path
? hello_path(@post)
,它试图做什么? 我希望
:name
和 :title
文件将自动绑定(bind)到路径,但似乎 rails 只知道如何从模型对象中获取 :id 。相反,它只有在我这样称呼它时才有效
<%= link_to "link2", hello_url(:name=> @post.name, :title=>@post.title) %>
(缺乏适当的文件真的让我很生气)
最佳答案
回答你的两个问题:
rake routes
看看有哪些路线你的应用程序。它将向您展示可以使用命名路线的所有方式,
只需将“_path”或“_url”添加到显示的路线名称中
左边。
hello_path(@post)
将生成一个 URL 到显示 该页面
hello
实例。 您称呼它的方式是规范:
<%= link_to "link2", hello_url(:name=> @post.name, :title=>@post.title) %>
但是,这也可能有效:
<%= link_to "link2", hello_url(@post.name, @post.title) %>
这是一些应该有所帮助的文档(Rails API 除外)。
http://guides.rubyonrails.org/routing.html
关于ruby-on-rails - 如何使用带有参数的 Rails 命名路由助手?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8531306/