今すぐチェックボックスをオンにすると、レールチェックボックスのみがトグルされます。チェックボックスに関連付けられたテキストをクリックしても何も起こりません。テキストをクリックすると、チェックボックスをトグルする方法はありますか?レールチェックボックス選択可能エリア
<% @books.each do |b| %>
<%= check_box_tag "books[]", b.book %><%= b.book %><br />
<% end %>
今すぐチェックボックスをオンにすると、レールチェックボックスのみがトグルされます。チェックボックスに関連付けられたテキストをクリックしても何も起こりません。テキストをクリックすると、チェックボックスをトグルする方法はありますか?レールチェックボックス選択可能エリア
<% @books.each do |b| %>
<%= check_box_tag "books[]", b.book %><%= b.book %><br />
<% end %>
これは、チェックボックスのコレクションを操作するのに必要な[]が原因で難解でした。ただ、次の操作を行います。
ビュー:
<% @books.each do |b| %>
<%= check_box_tag "books[#{b.id}]", b.book %>
<%= label_tag "books[#{b.id}]", b.book %>
<br />
<% end %>
そして、それによってパラメータが
values
のコントローラーへのアクセスインチそうでなければ、135 => Book1のように見えます。 [:ブック]
を.valuesまたはでも簡単な方法は、単純にそうような<label>
でをラップすることです:
...
<label><%= check_box_tag "books[]", b.book %></label>
...
だけBOOK1
のparamsを取得するには
values
を使用して、今すぐ
01に戻すことができます#{b.id}
で一意のIDについて心配する必要がないので、コントローラコードをparams[:books] # notice the .values is removed
チェックボックスIDが 'books_'のときにラベルタグを使用するにはどうすればよいですか? – Lan
チェックボックスには、これが機能し、コードが有効であるために、一意のIDが必要です。モデルから外したり、ネストされた属性を使用したりしていないので、ラベルを参照するようにラベルを設定できるように、各チェックボックスのIDを設定する必要があります。 – idlefingers