【发布时间】:2015-04-17 08:54:30
【问题描述】:
我正在尝试使用 Cocoon gem 创建嵌套表单。 我使用 github 提供的文档。 我已经设置了这样的模型:
//requst.rb
has_many :filled_cartridges, dependent: :destroy
accepts_nested_attributes_for :filled_cartridges, :reject_if => :all_blank,
allow_destroy: true
//filled_cartridge.rb
belongs_to :request
在我的 _form 中,我有嵌套的表单:
<%= f.fields_for :filled_cartridges do |filled_cartridge| %>
<%= render 'filled_cartridge_fields', f: filled_cartridge %>
<%= link_to_add_association 'add', f, :filled_cartridges %>
<% end %>
和我的 _filled_cartridge_fields 部分:
<fieldset>
<%= f.text_field :cartridge_id %>
<%= f.hidden_field :_destroy %>
<%= link_to_remove_association "remove", f %>
</fieldset>
我还为 request_controller 中的 :id 和 :_destroy 定义了强参数。
link_to_add_association 工作正常,删除工作正常。 我不知道为什么会这样。此外,当我单击 link_to_add_association 时,默认操作已完成,即导航到 /# 页面。
【问题讨论】:
-
当你点击添加按钮时,部分渲染了吗?问题是您可以将新项目保留在 db 上,对吗?
-
@Leantraxx no partial 不渲染
标签: ruby-on-rails ruby cocoon-gem