チェックボックスのセットを作成するeach
ループがあります。
コントローラーコードは
def new
@foo = Foo.new
@books = Book.all
end
def edit
@foo = Foo.find(params[:id])
@books = Book.all
end
Erb ファイルは次のようになります。
<div>
<% @books.each do |book| %>
<%= check_box_tag 'books[]', book.id, (checked = true if @books.collect{|b| b.id}.include?(book.id)) %>
<%= book.name %><br />
<% end %>
</div>
ページを編集するときに、選択した check_box 値のみを表示しようとしています。しかし、私の場合、いくつかのチェックボックスが選択されていなくても、すべての値を選択しています。では、レールでcheck_box_tagを使用してチェックされた値のみを選択するにはどうすればよいですか?