繁体   English   中英

Rails应用程序中的布线错误

[英]routing errors in rails application

所以我在Rails应用程序中遇到了这个错误:

没有路线匹配{:action =>“ edit”,:controller =>“ parties”}

在我的routes.rb文件中,我进行了以下设置:

resources :parties

在目录views / parties / show.html.erb下,我对show.html.erb的视图包含以下行:

<%= link_to "Edit Party Details", edit_party_path %><br />

这项工作。 但是,在views / users / show.html.erb目录下,它包含以下行:

<%= link_to "edit parties", :controller => 'users', :action => 'edit_parties' %>

在edit_parties.html.erb内部,我有一个循环,它打印出用户的参与方,并提供了一个编辑它们的链接。 该链接如下所示:

<li><h2><%= link_to party.title, edit_party_path %></h2><%= party.description %></li>

这是发生错误的地方。 为什么edit_party_path在这里不起作用,但在上面却起作用? 是因为edit_parties.html.erb中的edit_party_path没有要获取的ID?

我认为您的诊断是正确的。

请尝试以下操作(请注意edit_party_path的参数):

<li><h2><%= link_to party.title, edit_party_path(party.id) %></h2><%= party.description %></li>

另请参见http://guides.rubyonrails.org/routing.html#paths-and-urls

看来在show.html.erb中,edit_party_path能够以某种方式推断ID。

您需要将资源传递到路径

尝试

<%= link_to "Edit Party Details", edit_party_path(party) %>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM