我正在尝试从我的视图中使用link_to到嵌套路由,我确信我的语法不正确。我的应用程序的基本流程是有一个摘要,有许多源,然后有许多日志行。这是一份非常基本的报告
我的路线是
resources :perfsums, :only => [:index] do
resources :perffeedresults, :only => [:index] do
resources :loglines, :only => [:index] do
end
end
end
以下是rake路线查找
的方式perfsum_perffeedresult_loglines_path GET /perfsums/:perfsum_id/perffeedresults/:perffeedresult_id/loglines(.:format) loglines#index
在我看来,我有一个链接,我希望使用Feed ID从Feed类链接到日志行。应该很简单。我的链接看起来像这样
<td> <%= link_to c.id, perfsum_perffeedresult_loglines(c) %> </td>
直接手动浏览页面,如下面的链接所示,我无法通过链接到达
http://localhost:3000/perfsums/19/perffeedresults/143/loglines
当我尝试使用该link_to运行时,我得到了。我尝试了一些不同的选项,但没有一个有效。
undefined method `perfsum_perffeedresult_loglines' for #<#<Class:0x007fad31b60dd8>:0x007fad386d86b0>
我确实使用link_to从摘要转到Feed页面,只是因为我认为更多的嵌套操作会让我失望。
答案 0 :(得分:1)
首先,它是perfsum_perffeedresult_loglines_path
,你错过了_path
,应该添加它来获取路径。你需要传递两个参数,看看路径:
/perfsums/:perfsum_id/perffeedresults/:perffeedresult_id/loglines
您需要传递perfsum
和perffeedresult
:
<td> <%= link_to c.id, perfsum_perffeedresult_loglines_path(perfsum, perffeedresult) %> </td>