我想用一個窗體在rails中更新多個模型。我曾看過Railscasts#196和許多嵌套模型示例,但無法讓它們工作。不同之處在於我想在父模型中爲子模型創建一個記錄。多種型號,軌道中的一種形式。想在創建嵌套模型對象時創建父窗體
我有這3種型號:
用戶模型
的has_many:產品
的has_many:商店
產品型號
belongs_to的:用戶
belongs_to的:店面
accepts_nested_attributes_for:商店
店鋪型號
has_many:產品
我有一個用戶可以輸入產品的表單。我希望它有一個可以進入商店的字段。此條目將在商店模型中創建記錄,並在存儲模型中存儲store_id以創建產品模型。
形式
<%= form_for @product, :html => { :multipart => true } do |f| %>
<%= f.text_field :product_name %>
<% f.fields_for :store do |store|%>
<%= store.text_area :store_name %>
<%end%>
<% end %>
控制器
@product = Product.new
@product.store.build
該代碼產生以下錯誤:
的零未定義的方法`編譯」:NilClass
我只是希望能夠在他們進入產品時創建新的商店條目。 (如果它是重複條目,我不會允許,但我會在其他地方處理)。有什麼建議麼?