我想用一个窗体在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
我只是希望能够在他们进入产品时创建新的商店条目。 (如果它是重复条目,我不会允许,但我会在其他地方处理)。有什么建议么?