2016-04-21 87 views
0

我們在保存循環的radio_buttons的值時遇到了問題。它不保存在數組中。 SavedAnswer模型與MultipleChoiceAnswer模型具有has_and_belongs_to_many關係。 這是我的代碼:無法在數組中保存collection_radio_buttons Ruby on Rails

<%= form_for @saved_answer do |f| %> 
    <% @questions.each do |question| %> 
    <%= collection_radio_buttons(:saved_answer, :multiple_choice_answer_ids , question.multiple_choice_answers, :id, :title) do |c| %> 
     <%= c.radio_button %> 
     <%= c.label %> 
    <% end %> 
    <% end %> 
<%= f.submit "Submit" %> 
<% end %> 

我的輸出爲預先

Parameters: {"utf8"=>"✓", "authenticity_token"=>"57I9yLZMccvcb3Bn5/pw7kES0c9CUAGs33yCXoS0Urm1Yek/Baz8Hl7fO8Yl/OVZWLKsX7qrwOlqEBoXrGkcxQ==", "saved_answer"=>{ "multiple_choice_answer_ids"=>"1"}, "commit"=>"Submit"} 

謝謝!

回答

0

您有form_for with | f |並用| f |收集。 我認爲這不是一個好的決定。這可能會導致問題。 如果沒有 - 在嘗試保存時寫下您在params中收到的內容。

0

只需使用複選框您的問題:

<%= form_for @saved_answer do |f| %> 
    <% @questions.each do |question| %> 
    <%= check_box_tag "saved_answer[multiple_choice_answer_ids][]", question.id, @saved_answer.multiple_choice_answer_ids.include?(question.id) %> 
    <%= question.title %> 
    <% end %> 
<%= f.submit "Submit" %> 
<% end %> 

參見:http://railscasts.com/episodes/17-habtm-checkboxes?view=asciicast