我正在试图弄清楚如何渲染嵌套表单的编辑链接。
我有称为项目和潜在用途的模型。协会是:
项目
v
潜在用途
unique_ptr
在我的项目展示页面中,我从我的潜在用途视图文件夹中渲染部分视图。在该视图中,我呈现了一个允许编辑内容的链接。
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| %>
<p><%= pu.comment %></p>
<%= link_to 'Edit', edit_project_potential_use_path(@project, pu), f: f %>
关于这个问题是错误的,因为当我保存它并尝试使用它时,我收到的错误是:
<%= render 'potential_uses_third_party_comments' %>
我从其他帖子中了解到,通过在编辑链接的末尾添加f:f来解决此错误。我已经有了。
谁能看到我做错了什么?
答案 0 :(得分:2)
您可以使用rails fields_for方法渲染嵌套。
<%= f.fields_for :potential_uses do |pu| %>
<%= render 'potential_uses_third_party_comments', f: pu %>
<% end %>
<%= link_to_add_association '+ Add Potential Use(s)', f, :potential_uses, partial: "potential_uses_third_party_comments", class: "btn btn-sm btn-primary" %>
答案 1 :(得分:0)
您的代码令人困惑..
<% @project.potential_uses.each do |pu| %>
<p><%= pu.comment %></p>
<%= link_to 'Edit', edit_project_potential_use_path(@project, pu), f: f %>
<% end %>
您的f
变量在哪里定义?为什么将f: f
添加到link_to
方法?
f
- 我认为,FormBuilder
对象,常见的情况是将f: f
添加到render partials
,如下所示:
<%= simple_form_for [ @project, @potential_use ] do |f| %>
<%= render 'potential_uses_third_party_comments', f: f %>
<% end %>
答案 2 :(得分:0)
请按照此网址https://github.com/nathanvda/cocoon进行操作。