2016-09-12 3 views
0

私は反復処理中の症状(@all_symptoms)のリストを持つアプリケーションを作成しています。それぞれの存在が真であるかどうかを示すラジオボタンが必要です偽です。 私が試したことに関係なく私が走っている問題は、ラジオボタンの名前がす​​べて同じであるため、フォーム全体で真/偽を一度しか選択できないということです。レールを反復するときのユニークなラジオボタン

は私がにラベルを変更してみました:

<%= ff.radio_button "presence_#{s.id}", true %> 

が、私の症状のために、「presence_X」と呼ばれる(明らかに)方法がないため、エラーがあります。 (明確にするために:「存在は」は症状のための属性であり、それはブール値を受け入れます。)これは、症状の属性を受け入れる予定の一部であるため

フォームのネストされた属性の一部です。

<%= f.fields_for :symptoms do |ff| %> 
    <table> 
    <tr> 
     <th>Name</th> 
     <th>Presence</th> 
    </tr> 

    <% @all_symptoms.each do |s| %> 
    <tr> 
     <td> 
     <%= s.name %> 
     </td> 
     <td> 
     <%= ff.label :presence, "True", :value => true %> 
     <%= ff.radio_button :presence, true, :value => true %> 
     <%= ff.label :presence, "False", :value => false %> 
     <%= ff.radio_button :presence, false, :value => false %> 
     </td> 
    </table> 
<% end %> 

答えて

0

試しましたか?

<%= ff.radio_button :presence, true, :value => true, name: "presence_#{s.id}" %> 
+0

これを試しました。それでも、私はページ全体のラジオボタンを1つだけ選択できます。 – kamillamagna

+0

申し訳ありませんが、ラジオはその名前で関連付けられています。id: – arieljuod

+0

の代わりに "name:" presence _#{s.id} "を使用してください。これは1トンの助けになりました@arieljuod!別のワームの缶を開けましたが、あなたの応答を "name:"に調整して、[messaging_attributes] [#{s.id}] [presence]にアクセスして、その名前をリバースエンジニアリングするようHTMLを検査しました。 "" (私はupvoted、しかし私は "評判"を持っていないので、それは数えませんでした。) – kamillamagna

関連する問題