Я пытаюсь понять, как правильно обрабатывать хэш параметров, чтобы не передавать параметры, которые должны быть вложены несколько раз ..
Вот упрощенный (удаленная ненужная информация, такая как ярлыки и т. Д.) Моего кода html.slim (с использованием simple_form):
= f.simple_fields_for :room do |r|
- (1..4).each do |room|
= r.input 'adults',:collection => 1..4,:input_html => {:name => "room[adults][]"}
= r.input 'children',:collection => 0..2,:input_html => {:name => "room[children][]"}
- (1..2).each do |child|
= r.input 'child_age',:input_html => {:name => "children[#{child}][ages][]"}
ОК, если ввести 1 комнату, 1 взрослого, 1 ребенка 5 лет, мы получим такие параметры:
"room"=>{"adults"=>["1", "1", "1", "1"], "children"=>["1", "0"]}, "children"=>{"1"=>{"ages"=>["5", ""]}, "2"=>{"ages"=>["", ""]}}
то, что я действительно хочу иметь в параметрах, это:
"room"=>{"adults"=>["1", "1", "1", "1"], "children"=>["1"=>["5",""], "0"=>["",""]] }
У кого-нибудь есть идеи, как это сделать?