我似乎无法找到任何这样的例子,所以我不知道我是否完全错误或过度复杂化它。一种形式的多个父模型
我有一个属于安装的联系人模型。有很多不同的联系人类别(自动,健康,儿童..)所以在联系人/新形式我想有一个形式,但多个记录可以添加到这种形式的联系人模型。
例如,有一个带联系人字段的自动部分,带联系人字段的健康部分,以及一个提交按钮。他们唯一的共同点就是它们属于哪种安装,但是直到他们填写表单之前我都不会知道。
任何帮助?
我似乎无法找到任何这样的例子,所以我不知道我是否完全错误或过度复杂化它。一种形式的多个父模型
我有一个属于安装的联系人模型。有很多不同的联系人类别(自动,健康,儿童..)所以在联系人/新形式我想有一个形式,但多个记录可以添加到这种形式的联系人模型。
例如,有一个带联系人字段的自动部分,带联系人字段的健康部分,以及一个提交按钮。他们唯一的共同点就是它们属于哪种安装,但是直到他们填写表单之前我都不会知道。
任何帮助?
您希望为表单输入使用数组语法,这将使您能够在安装表单中嵌套一个联系人数组。
举例来说,你可以这样做:
<%= form_for @installation do |f| %>
<% for category in @categories do %>
# category is 'auto', 'health', 'children', etc.
<%= fields_for 'installation[#{category}][contacts][]' do |contact_f| %>
<%= contact_f.text_field :contact_data_field %>
# more fields here
<% end %>
<% end %>
<% end %>
然后在安装控制器,你将需要处理params散列,看起来是这样的:在
{'installation' => { 'auto' => { 'contacts' => [ # an array of contact data hashes ] }}}
退房understanding-parameter-naming-conventions导轨在表单助手上引导。
伊恩。
这在rails中被称为nested form
,如果你搜索,你会发现很多资源来帮助你进一步。例如,为了让你开始:检查出this post on asciicasts(可读版本的railscasts.com)。