我似乎無法找到任何這樣的例子,所以我不知道我是否完全錯誤或過度複雜化它。一種形式的多個父模型
我有一個屬於安裝的聯繫人模型。有很多不同的聯繫人類別(自動,健康,兒童..)所以在聯繫人/新形式我想有一個形式,但多個記錄可以添加到這種形式的聯繫人模型。
例如,有一個帶聯繫人字段的自動部分,帶聯繫人字段的健康部分,以及一個提交按鈕。他們唯一的共同點就是它們屬於哪種安裝,但是直到他們填寫表單之前我都不會知道。
任何幫助?
我似乎無法找到任何這樣的例子,所以我不知道我是否完全錯誤或過度複雜化它。一種形式的多個父模型
我有一個屬於安裝的聯繫人模型。有很多不同的聯繫人類別(自動,健康,兒童..)所以在聯繫人/新形式我想有一個形式,但多個記錄可以添加到這種形式的聯繫人模型。
例如,有一個帶聯繫人字段的自動部分,帶聯繫人字段的健康部分,以及一個提交按鈕。他們唯一的共同點就是它們屬於哪種安裝,但是直到他們填寫表單之前我都不會知道。
任何幫助?
您希望爲表單輸入使用數組語法,這將使您能夠在安裝表單中嵌套一個聯繫人數組。
舉例來說,你可以這樣做:
<%= 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)。