ラジオボタンの選択に応じてチェックボックスを非表示/表示するソリューションが必要です。あちこちで見つかった別のソリューションを試しましたが、それらを機能させることができます。
コンテキスト: ビジネスに関連付けることができる連絡担当者のプールがあります。ユーザーは複数の担当者を選択できますが、主要な担当者を選択する必要があります。したがって、すべての連絡担当者が一次連絡先を選択するためのラジオボタングループがあり、すべての連絡担当者が「その他」の連絡先を選択するためのチェックボックスグループがあります。
必要: ここで、ユーザーがラジオ ボタン グループの主要な連絡先を選択すると、この連絡先が「その他の連絡先」チェックボックス グループから削除されるため、ユーザーは同じ連絡先を 2 回選択できなくなります。プレーンな JavaScript だけでなく、JQuery も使用できます。
CONSTRAINT: ラジオ ボタン グループとチェックボックス グループは、Rails タグ ヘルパーを使用して動的に作成されます。そのため、要素の ID と名前については少し注意が必要です。また、ビジネスと連絡先の間に has_many :trough があります。
ラジオボタンについては、次のとおりです。
<% @contacts.each do |contact| %>
<li><%= radio_button_tag 'primary_contact', contact.id, @primary_contact == contact, :class => 'radio'%> <%= contact.name %>, <%= contact.contact_type.name %></li>
<% end %>
チェックボックスグループについては、次のとおりです。
<%= hidden_field_tag 'business[contact_ids][]', "" %>
<% @contacts.each do |contact| %>
<li><%= check_box_tag 'business[contact_ids][]', contact.id, @business.contacts.include?(contact), :class => 'radio' %> <%= contact.name %>, <%= contact.contact_type.name %></li>
<% end %>
私の目標を達成するための他のデザイン(ラジオボタンとチェックボックスを使用して...)についての提案は大歓迎です。
ありがとうアラン