如何使宁静的link_to

时间:2012-08-26 08:35:24

标签: ruby-on-rails link-to

我需要生成像

这样的链接

任务/新/ 1

但我的link_to会生成类似

的链接
<%= link_to "", {:controller => "tasks", :action => "new", :pid => project.id } %>

任务/新?PID = 1

我需要做什么?

2 个答案:

答案 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