# 添加到 URL 单击 link_to_add 或 link_to_remove_association
# added to URL when clicking link_to_add OR link_to_remove_association
我正在使用 Rails 6,我正在努力使 nested_fields 正常工作。我正在使用茧。没有JS错误,正确加载了JQuery。 nested_form 正确加载嵌套数据,但我无法添加新行或删除现有行。这是我的代码:
在_form.html.erb
<div id="entry_links">
<%= f.fields_for :entry_links do |ff| %>
<%= render 'entry_link_fields', f: ff %>
<% end %>
</div>
<div id="links">
<%= link_to_add_association '<span class="oi" data-glyph="plus" title="icon name" aria-hidden="true"></span> Add Link '.html_safe, f, :entry_links, class: "btn btn-primary" %>
</div>
_entry_link_fields.html.erb
<div class="nested-fields">
<div class = "field row">
<div class="col-md-1">
<%= f.text_field :link_type, class: "form-control" %>
</div>
<div class="col-md-3">
<%= f.text_field :label, class: "form-control" %>
</div>
<div class="col-md-6">
<%= f.text_field :link, class: "form-control" %>
</div>
<div class="col-md-1">
<%= f.number_field :line, class: "form-control" %>
</div>
<div class="col-md-1">
<%= link_to_remove_association '<span class="oi" data-glyph="trash" title="icon name" aria-hidden="true"></span>'.html_safe, f, class: "btn btn-danger" %>
</div>
</div>
</div>
以防万一,这是我的 package.json 文件的片段,其中列出了 jQuery 和 coocon
{
"cocoon-js": "^0.0.5",
"jquery": "^3.5.1",
}
我试过 @nathanvda/cocoon
和 cocoon-js-vanilla
都无济于事。
当我单击这些链接中的任何一个时,唯一发生的事情是在 URL 框中添加了一个“#”。我在另一个答案中读到它可能与 JQuery 错误有关,但我的情况并非如此,因为我的 JS 日志没有显示任何错误并且我能够从内部正确调用其他 JQuery 函数同一个应用。
所以事实证明一切都是正确的,除了我完全错过了这一行:
<%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %>
将该行添加到我的 application.html.erb 文件后,所有内容都已正确加载并且我的链接按预期工作。
我正在使用 Rails 6,我正在努力使 nested_fields 正常工作。我正在使用茧。没有JS错误,正确加载了JQuery。 nested_form 正确加载嵌套数据,但我无法添加新行或删除现有行。这是我的代码:
在_form.html.erb
<div id="entry_links">
<%= f.fields_for :entry_links do |ff| %>
<%= render 'entry_link_fields', f: ff %>
<% end %>
</div>
<div id="links">
<%= link_to_add_association '<span class="oi" data-glyph="plus" title="icon name" aria-hidden="true"></span> Add Link '.html_safe, f, :entry_links, class: "btn btn-primary" %>
</div>
_entry_link_fields.html.erb
<div class="nested-fields">
<div class = "field row">
<div class="col-md-1">
<%= f.text_field :link_type, class: "form-control" %>
</div>
<div class="col-md-3">
<%= f.text_field :label, class: "form-control" %>
</div>
<div class="col-md-6">
<%= f.text_field :link, class: "form-control" %>
</div>
<div class="col-md-1">
<%= f.number_field :line, class: "form-control" %>
</div>
<div class="col-md-1">
<%= link_to_remove_association '<span class="oi" data-glyph="trash" title="icon name" aria-hidden="true"></span>'.html_safe, f, class: "btn btn-danger" %>
</div>
</div>
</div>
以防万一,这是我的 package.json 文件的片段,其中列出了 jQuery 和 coocon
{
"cocoon-js": "^0.0.5",
"jquery": "^3.5.1",
}
我试过 @nathanvda/cocoon
和 cocoon-js-vanilla
都无济于事。
当我单击这些链接中的任何一个时,唯一发生的事情是在 URL 框中添加了一个“#”。我在另一个答案中读到它可能与 JQuery 错误有关,但我的情况并非如此,因为我的 JS 日志没有显示任何错误并且我能够从内部正确调用其他 JQuery 函数同一个应用。
所以事实证明一切都是正确的,除了我完全错过了这一行:
<%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %>
将该行添加到我的 application.html.erb 文件后,所有内容都已正确加载并且我的链接按预期工作。