Значения radio_button_tag входят в хеш - PullRequest
0 голосов
/ 23 ноября 2018

Нужны данные, возвращенные как "results"=>[{"radio_result"=>"true"}, {"radio_result"=>"false"}...] В настоящее время есть код:

@results.each_with_index do |result, index|    
  = radio_button_tag "results[][radio_result][#{index}]", true, result.radio_result?, id: "results__radio_result_#{index}_true"
  = label_tag "results[][radio_result][#{index}][false]", 'Yes'
  = radio_button_tag "results[][radio_result][#{index}]", false, !result.radio_result?, id: "results__radio_result_#{index}_false"
  = label_tag "results[][radio_result][#{index}][true]", 'No'

Это вроде работает, но возвращает данные в неправильном формате ("results"=>[{"radio_result"=>{"0" => "true"}}, {"radio_result"=>{"0" => "false"}}...]

Изменение кода на = radio_button_tag "results[][radio_result] (удаление# {index} из этого) должен был это исправить - но вместо этого - мои ярлыки больше не отображаются

1 Ответ

0 голосов
/ 23 ноября 2018

Что произойдет, если вы передвинете index раньше?

= radio_button_tag "results[#{index}][radio_result]"

При этом я не могу не чувствовать, что, возможно, есть более радикальный способ сделать это.Я не совсем уверен, но, может быть, что-то вроде:

= f.fields_for result do |result_fields|
  = result_fields.radio_button true, checked: result.radio_result?
  = result_fields.radio_button false, checked: !result.radio_result?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...