Rails Несколько записей в форме - PullRequest
0 голосов
/ 18 ноября 2011

Я постараюсь объяснить это как можно проще и проще.

У меня есть форма Rails и 3 модели. Модели: DemoModule, SalesDemo и SalesDemoModule

В моем представлении / форме я хочу создать новое SalesDemo, но SalesDemo имеет много SalesDemoModules.

В контроллере у меня есть:

@sales_demo = SalesDemo.new
@demo_modules = DemoModule.find(:all, :conditions => ['active = true'])

Как я могу, на мой взгляд, иметь строку текстового поля для каждого DemoModule, которую я могу передать обратно в действие контроллера для сохранения в SalesDemoModule?

Ответы [ 2 ]

2 голосов
/ 18 ноября 2011

Вы можете указать, что SalesDemo accepts_nested_attributes_for SalesDemoModule, который затем позволяет вам создать вложенную форму (т. Е. Внутри form_for SalesDemo вы можете иметь fields_for SalesDemoModule). Вот простой пример .

1 голос
/ 18 ноября 2011

Проще говоря:

<%= 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

Вы можете получить дополнительную информацию здесь .

...