У меня сейчас есть кобыла, пытающаяся создать сложную HTML-форму с использованием Rails. Так как форма более сложная, чем обычно, я не использую form_for
для сложных входных данных.
Вот часть, с которой у меня проблемы:
- users.each do |user|
.checkbox
= hidden_field_tag "booking[events][][id]", event.id
= hidden_field_tag "booking[events][][delegates][][id]", user.id
= label_tag "booking[events][][delegates][][attending]", for: id_for_event_bookings_checkbox(user, event) do
= check_box_tag "booking[events][][delegates][][attending]", 1, value_for_event_booking_checkbox(f.object, user, event), id: id_for_event_bookings_checkbox(user, event)
= user.name
К вашему сведению:
id_for_event_bookings_checkbox # => "booking_form__checkbox_#{user.id}_#{event.id}"
value_for_event_booking_checkbox # => правда/ложь
Когда я публикую эту форму, параметры имеют неверный формат.
Что я получаю:
{"booking"=> {"booker_id"=>"36", "events"=>[{"id"=>"2", "delegates"=>[{"id"=>"35", "attending"=>"1"}]}, {"id"=>"2", "delegates"=>[{"id"=>"36"}]}]}}
Что мне нужно:
{"booking"=> {"booker_id"=>"36", "events"=>[{"id"=>"2", "delegates"=>[{"id"=>"35", "attending"=>"1"}, {"id"=>"36"}]}]}}
Я предполагаю, что мне нужно изменить структуру the check_box_tag
s name
, но я понятия не имею, как их структурировать.
ПРИМЕЧАНИЕ. Я застрял на использовании этой более подробной структуры, потому что StrongParams в Rails отстой.