http://weblog.rubyonrails.org/2009/1/26/nested-model-forms
Este post ajudou a aprender como lidar com vários modelos em uma forma de rails. Funciona desde que os modelos estejam nesteds. E se eles não são? Vamos dizer, eu tenho um formulário, onde o usuário preenche detalhes pessoais, detalhes do endereço e um monte de checkboxs de seleção especificando seus interesses. Há pelo menos três tabelas envolvidas neste único formulário, qual é a melhor maneira de lidar com isso, sem ter três botões diferentes para salvar?
Duas opções:
O primeiro é o ActivePresenter, que funciona bem para isso.
O segundo é apenas usar fields_for
:
<%= form_for @user do |f| %> <%=f.label :name %> <%=f.text_field :name %> <%= fields_for @address do |fa| %> <%=fa.label :city %> <%=fa.text_field :city %> <% end %> <% end %>
Em seguida, no controlador, salve os registros.
@user = User.new(params[:user]) @address = Address.new(params[:address])
O ActivePresenter funciona tão bem.
Também encontrei um post railsforum via Google, que funcionaria bem.
Você pode consultar este tutorial por The Pragmatic Programmers
Receitas de rails Avançados