如何以轨道forms处理多个模型

http://weblog.rubyonrails.org/2009/1/26/nested-model-forms

这篇文章有助于学习如何以轨道forms处理多个模型。 只要模型嵌套,它就可以工作。 如果他们不是? 比方说,我有一个表单,用户填写个人详细信息,地址详细信息和一系列复选框,指明她的兴趣。 这个单一表单至少涉及3个表,处理此问题的最佳方法是什么,没有3个不同的保存按钮?

两种选择:

首先是ActivePresenter ,它适用于此。

其次是使用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 %> 

然后在控制器中保存记录。

  @user = User.new(params[:user]) @address = Address.new(params[:address]) 

ActivePresenter工作得很好。

还通过Google找到了一个railsforumpost ,效果很好。

您可以参考The Pragmatic Programmers的本教程

高级Rails食谱