0

我需要生成链接

任务/新/1

但我的 link_to 会生成类似的链接

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

任务/新?pid=1

我需要做什么?

4

2 回答 2

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
于 2012-08-26T09:03:09.260 回答
0

指向“tasks/new/1”的链接实际上不会让人放松。新链接从不指定它们的 id,因为您无法知道数据库要给出的 id。按照惯例,资源背后的 id 属于该资源,而不是关系。

宁静的方式是

/projects/1/tasks/新

您可以通过设置正确的路由来实现这一点。

看看这里:http ://edgeguides.rubyonrails.org/routing.html

并搜索标题嵌套资源。

于 2012-08-26T08:44:46.053 回答