コントローラに2番目のオブジェクトを作成する方法は分かっていますが、3番目または4番目の方法はどのように作成しますか?私は3コントローラでネストされたフォームの子を作成する方法
Location - has_many :product_dates, :products
ProductDate - has_many :products & belongs_to :location
Product - belongs_to :location, :product_date
を構築する必要があります私の場合は
私は簡単に場所や製品の日付を構築:
def new
@location = Location.new
@location.product_dates.build
end
今私は、フォーム上の製品を構築する必要があります。誰も私にこれを行う方法を示すことができますか?
EDIT:完全な答え:
def new
@location = Location.new
product_date = @location.product_dates.build
product_date.products.build
end
<%= form_for @location do |f| %>
<%= f.text_field :business %>
<%= f.text_field :address %>
<%= f.fields_for :product_dates do |date| %>
<%= date.date_select :date %>
<%= date.fields_for :products do |product| %>
<%= product.text_field :name %>
<%= product.text_field :price %>
<%= product.text_field :tag_list %>
<% end %>
<% end %>
<%= f.submit "Create" %>
<% end %>
しかし、それは「回」機能を使用して、私はそれを必要としない、ちょうど私それぞれに1つのインスタンスが必要です。 – LearningRoR
ループしないで 'times'を削除してください:) – apneadiving
どのようにループしませんか?私はループが何であるか分かりません。 – LearningRoR