我正试图找出嵌套路线。
我有称为项目和潜在用途的模型。协会是:
项目
has_many :potential_uses
accepts_nested_attributes_for :potential_uses, reject_if: :all_blank, allow_destroy: true
潜在用途
belongs_to :project
belongs_to :user
在我的项目展示中,我正试图遍历每个潜在用途。
<% @project.potential_uses.each do |pu| %>
<div class="row">
<p><%= pu.comment %></p>
<strong><%= pu.user.formal_name %></strong>
<%= link_to 'Edit', edit_project_potential_use_path(pu) %>
<p style= 'border-bottom: solid; border-bottom-width: 1px'></p>
</div>
<% end %>
当我尝试使用此编辑链接时,出现错误消息:
No route matches {:action=>"edit", :controller=>"potential_uses", :id=>nil, :project_id=>#<PotentialUse id: 14, comment: "asdf", project_id: 17, created_at: "2016-08-19 01:36:49", updated_at: "2016-08-19 01:36:49", user_id: 1, private_comment: false>} missing required keys: [:id]
我尝试了几种不同版本的编辑链接。
<%= link_to 'Edit', edit_project_potential_use_path(potential_use) %>
<%= link_to 'Edit', edit_project_potential_use_path(project.potential_use) %>
我找不到合适的方式。
我的佣金路线,为编辑操作显示:
edit_project_potential_use GET /projects/:project_id/potential_uses/:id/edit(.:format) potential_uses#edit
在我看来,这看起来我需要在编辑链接中要求多次引用资源(尽管它对我来说没有意义),如下所示:
<%= link_to 'Edit', edit_projects_potential_uses_path(pu) %>
该公式给出了这个错误:
undefined method `edit_projects_potential_uses_path' for #<#<Class:0x007fd4b7431b18>:0x007fd4b7430678>
Did you mean? edit_project_potential_use_path
edit_project_potential_use_url
我无法看到如何获取此信息并使用它来编写编辑链接。
谁能看到我做错了什么?
答案 0 :(得分:1)
根据您的佣金路线,我认为路径应为<%= link_to 'Edit', edit_project_potential_use_path(@project, pu) %>
{{1}}
答案 1 :(得分:1)
您还必须指定父级:
edit_project_potential_use_path(@project, pu)