check_box_tag と label_tag のクリックアクション 質問する

check_box_tag と label_tag のクリックアクション 質問する
<%= f.label :category %><br/>
<%= check_box_tag 'category[]', '1', false %>
<%= label_tag 'community', 'community', class: 'category_select', value: '1' %>
<%= check_box_tag 'category[]', '2', false %>
<%= label_tag 'food', 'food', class: 'category_select', value: '2' %>
<%= check_box_tag 'category[]', '3', false %>
<%= label_tag 'music', 'music', class: 'category_select', value: '3' %><br/>
<%= check_box_tag 'category[]', '4', false %>
<%= label_tag 'education', 'education', class: 'category_select', value: '4' %>
<%= check_box_tag 'category[]', '5', false %>
<%= label_tag 'theatre', 'theatre', class: 'category_select', value: '5' %>
<%= check_box_tag 'category[]', '6', false %>
<%= label_tag 'art', 'art', class: 'category_select', value: '6' %><br/>
<%= check_box_tag 'category[]', '7', false %>
<%= label_tag 'culture', 'culture', class: 'category_select', value: '7' %>
<%= check_box_tag 'category[]', '8', false %>
<%= label_tag 'family', 'family', class: 'category_select', value: '8' %>
<%= check_box_tag 'category[]', '9', false %>
<%= label_tag 'sports', 'sports', class: 'category_select', value: '9' %><br/>

これらのオプションをコントローラーの配列の下に表示できるようにしたいのでcategory、すべてのオプションに という名前を付けましたcategory[]。私が実現したいのは、label_tagcheck_box_tagフィールドが互いについて認識できるようにすることです。

<%= check_box_tag 'community', 'community', false %>
<%= label_tag 'community', 'community', class: 'category_select' %>

ここで、単語をクリックすると、ボックスもチェックされます。 の値を使用してこれを実現しようとしましたlabel_tagが、うまくいかないようです。これは実現できますか?

ベストアンサー1

これを行う 1 つの方法は、label要素を手動で追加し ( なしerb)、チェックボックスとラベル コンテンツを子として追加することです。

<label class="category-select">
  <%= check_box_tag 'category[]', '1', false %>
  Community
</label>
...

ただし、HTML の構造は多少変更され、レイアウトや CSS に影響する可能性があります。

おすすめ記事