我会尝试尽可能多地解释这一点。
我有一个Rails表单和3个模型。 型号:DemoModule,SalesDemo和SalesDemoModule
我想在我的视图/表单中创建一个新的SalesDemo,但SalesDemo有许多SalesDemoModules。
在控制器中我有:
@sales_demo = SalesDemo.new
@demo_modules = DemoModule.find(:all, :conditions => ['active = true'])
在我看来,我如何为每个DemoModule都有一个文本字段行,我可以将其传递回控制器操作,以保存到SalesDemoModule中?
答案 0 :(得分:2)
您可以指定SalesDemo accepts_nested_attributes_for
SalesDemoModule,然后允许您创建嵌套表单(即在form_for SalesDemo中,您可以使用fields_for SalesDemoModule)。 Here's a simple example
答案 1 :(得分:1)
简单地说:
<%= form_for @sales_demo do |sales_demo_form| %>
<%= sales_demo_form.text_field "some_sales_demo_property" %>
<%= sales_demo_form.fields_for @demo_modules do |modules| %>
<%= modules.text_field "some_module_text_field" %>
<% end %>
<% end %>
在SalesDemo中,您需要
accepts_nested_attributes_for :demo_modules
您可以获得更多信息here。