我需要生成像
这样的链接任务/新/ 1
但我的link_to会生成类似
的链接<%= link_to "", {:controller => "tasks", :action => "new", :pid => project.id } %>
任务/新?PID = 1
我需要做什么?
答案 0 :(得分:0)
“tasks / new / 1”的链接实际上并不安宁。新链接从不指定其ID,因为您无法知道数据库发出的ID。按照惯例,资源背后的id属于该资源,而不是关系。
宁静的方式是
/项目/ 1 /任务/新
您可以通过设置正确的路由来实现此目的。
看看这里:http://edgeguides.rubyonrails.org/routing.html
搜索标题嵌套资源。
答案 1 :(得分:0)
我假设你有嵌套的资源项目和任务。
<%= link_to 'New Task', new_project_task(project) %>
此链接应创建路径/projects/1/tasks/new
简短形式是
<%= link_to 'New Task', [:new, @project, :task] %>
路线文件应该
resources :projects do
resources :tasks
end