У меня есть гнездящийся видRails check_box внутри fields_for
- f.object.buttons.build if f.object.buttons.blank?
- f.object.buttons.each do |button|
= f.fields_for :buttons, button, index: nil do |button|
.control-group
= button.label :url, 'Url'
= button.text_field :url, {type: 'url'}
.control-group
= button.label :active, 'Active'
= button.check_box :active
# ...
Когда я проверяю check_box и сохранить эту форму, что-то странное случилось: в Params хэш я могу видеть, что вместо одной кнопки с проверяются параметры «активны 'форма посылает две кнопки:
..., "buttons"=>[{"label"=>"site", "url"=>"http://example.com", "active"=>"0"}, {"active"=>"1"}]}
у вас есть два элемента для кнопки, определенной в вашем представлении. 'text_field' с именем' url' и 'check_box' с именем' active'. Почему вы ожидаете только одного? – usha
@ Vimsha, я не ожидаю одного параметра. Я ожидаю, что если флажок «active» установлен для конкретной кнопки, тогда этот параметр должен быть помещен внутри вложенных параметров следующим образом: '' buttons "=> [{" label "=>" site "," url "=>" http://example.com "," active "=>" 1 "}]}', а не так: '" buttons "=> [{" label "=>" site "," url "=>" http : //example.com "," active "=>" 0 "}, {" active "=>" 1 "}]}'. И я не понимаю, почему это происходит. – MikeAndr