Как обновить дочерний объект во вложенной форме в Rails

У меня есть вложенная форма Parent, которая принимает атрибут Child. В моем контроллере # new я делаю

  @parent = Parent.new
  @parent.childs.build

и вложенная форма работает нормально

Для обновления Parent и Child в моем контроллере#edit у меня есть

  @parent = Parent.find(params[:id])
  @parent.childs.build unless not @parent.childs.empty?

Теперь, если я перейду на страницу редактирования, будут отображаться только поля для родителя. Мой вопрос: как сообщить Rails, что мне нужна форма для родителей и детей, а не только для родителей?

Спасибо


person AdamNYC    schedule 04.04.2012    source источник


Ответы (1)


Воспользуйтесь помощником fields_for — он почти все сделает за вас.

<%= form_for @parent do |f| %>
  <%= f.text_field :name %>
  <%= f.fields_for :children, @parent.children do |c| %>
    <%= c.text_field :name %>
  <% end %>
<% end %>
person klump    schedule 04.04.2012