При работе со сложной формой, которая содержит много вложенных элементов, для того, чтобы выбор кнопки передавался в параметры, публикуемые с отправкой формы, для атрибута name используется ключ (то есть)
В моем конкретном случае я ошибочно предполагал, что прогресс объекта формы по цепочке моделей также применяется к входному тегу при каждом его использовании.
Итак, приведем конкретный пример.Даже если форма может выглядеть примерно так:
<%= form_for @object do |f| %>
<%= f.fields_for :related_model_1 do |rm1| %>
<%= rm1.fields_for :related_model_2 do |rm2| %>
<%= rm2.fields_for :related_model_3 do |rm3| %>
... Когда приходит время настроить поля ввода для кнопок, для имени должен использоваться полный параметр «path».Таким образом, если related_model_3 имеет поле с именем «content», для которого мы хотим, чтобы выбор кнопки устанавливал значение, оно может выглядеть примерно так:
<input type="radio" name="object[rm1][rm2][rm3][content]" ... >
Затем, когда кнопка выбирается пользователем и формируетсябудет передано значение атрибута value, указанное с помощью кнопки, для пути параметра, указанного выше в атрибуте name.
Если вы когда-либо захотите перепроверить, что вы должны использовать дляатрибут name, настройте свою кнопку с помощью метода .radio_button (то есть rm3.radio_button
), откройте страницу и используйте F12 для проверки, затем перейдите к соответствующему исходному коду, чтобы увидеть, какой атрибут имени был сгенерирован для radio_button.
Надеюсь, это поможет любому, кто может быть озадачен таким очевидным ответом!Еще раз спасибо @muistooshort за вашу первоначальную помощь и быстрый ответ на комментарий!