我知道如何在控制器中構建第二個對象,但是如何構建第三個或第四個對象?如何在控制器中構建嵌套窗體的子代
對我來說,我需要建立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
現在我需要建立產品的形式。任何人都可以告訴我如何做到這一點?
編輯:完整的答案:
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 %>
但它使用了「與時俱進」的能力,我不需要這個,我只是每個需要一個實例。 – LearningRoR
然後不要循環,並刪除'times' :) – apneadiving
你怎麼不循環?我不明白循環是什麼。 – LearningRoR