Ruby
erb
RubyOnRails
Rails4

【Rails4】複数選択チェックボックス(check_box_tag)

More than 3 years have passed since last update.

check_boxは真偽値のカラム用になっているため、check_box_tagを使います。

check_box_tag(name, value = "1", checked = false, options = {})

配列で受け取るためのモデル名つきname属性を指定します

hidden要素は全てチェックなしでの更新をするために必要です

<%= form_for @user do |f| %>

<%= hidden_field_tag 'image[id][]' %>
<% @image.each do |i| %>
<%= check_box_tag 'image[id][]', i.id, checked = false, :id => "image_#{i.id}" %>
<% end %>
<% end %>

checkedの判定を反映させたい場合は、以下のようにやるといいらしいです

<%= check_box_tag 'image[id][]', i.id, @user.images.include?(i.id), :id => "image_#{i.id}" %>