通过模型创建两次

时间:2015-03-27 18:55:15

标签: ruby-on-rails

嵌套表单会双重创建每个嵌套对象中的两个。

为了让您了解架构,父驱动程序具有:

Driver.rb

  has_many :workables, dependent: :destroy
  has_many :vehicles, through: :workables

在视图中

<%= form_for(driver) do |f| %>
  <%= f.fields_for :workables, Workable.new  do |w_form| %>

  <% end %>
<% end %>

我觉得我得到了一个海森虫,一个有时存在但有时不在那里的量子虫。当天早些时候,我正在加倍创作,所以我删除了&#34; Workable.new&#34;来自field_for帮助器的位 - 这让我回到单一创建。然后,最近,除非我将Workable.new放入。

,否则field_for拒绝渲染

1 个答案:

答案 0 :(得分:0)

试试这个

<强>控制器

def new
  @driver = Driver.new
  @driver.workables.build
end

查看

<%= form_for(@driver) do |f| %>
  <%= f.fields_for :workables  do |w_form| %>

  <% end %>
<% end %>