【发布时间】:2015-08-05 14:22:19
【问题描述】:
我创建了一个表单,可以使用其所有数据创建新的Entity,并使用Has_many :through 关联添加与该实体关联的新Users。
这就是问题所在。我希望能够使用“添加额外用户”按钮添加额外的用户字段 li 元素。我找不到办法。我对 java-script 并不熟悉。
/views/entities/_form.html.erb
<%= form_for(@entity) do |f| %>
<div class="field">
<%= f.label :name %>
<%= f.text_field :name %>
</div>
<div class="field">
<%= f.label :number %>
<%= f.number_field :number %>
</div>
Users:
<ul>
<%= f.fields_for :bonds do |b| %>
<li>
<div class="field">
<%= b.label :_destroy %>
<%= b.check_box :_destroy %>
</div>
<div class="field">
<%= b.select :user_id, User.all.collect { |p| [ p.name, p.id ] } %>
</div>
<div class="field">
<%= b.label :label %><br>
<%= b.number_field :lebal %>
</div>
</li>
<% end %>
</ul>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
有没有办法使用页面上的按钮生成具有唯一 ID 的额外 f.field_for :bonds?它也可以在我使用相同表单的编辑页面上工作吗?
感谢您的帮助!
【问题讨论】:
-
您可以使用 Cocoon - github.com/nathanvda/cocoon 。 Cocoon 可以更轻松地处理嵌套表单。
-
我会试试的。我需要对代码进行大量更改吗?或者我可以在修改后使用旧的?
-
您无需进行太多更改,只需添加更多内容即可。
-
谢谢。现在我只需要弄清楚 html.slim 在示例中所说的内容:D 如果您发布您的答案,我会接受它。
标签: javascript ruby-on-rails ruby-on-rails-4 coffeescript nested-forms