データはデータベースに入りますが、常に :location を 0 として送信しています。これを回避するにはどうすればよいですか? :location にチェック済みの値を送信してもらいたいです。
また、このようにする代わりに simple_form を使用した方が簡単でしょうか?
部分的なものは次のとおりです。
<%= form_for(@offering) do |f| %>
<%= render 'common/form_errors', object: @offering %>
<%= f.label :description, "Description:" %>
<%= f.text_field :description %>
<%= f.label :location, "Where?" %>
<%= check_box("offering", :location, {}, "Alphabet City") %>Alphabet City
<%= check_box("offering", :location, {}, "Battery Park") %>Battery Park
<%= check_box("offering", :location, {}, "Chelsea") %>Chelsea
<%= check_box("offering", :location, {}, "Chinatown") %>Chinatown
<%= f.submit "Post your offering" %>
<% end %>
生成される html は次のとおりです。
<form accept-charset="UTF-8" action="/offerings" class="new_offering" id="new_offering" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="✓"><input name="authenticity_token" type="hidden" value="L6oao6csQJ9TIRpEKG4BAzj3uH6FUMr9YmDYXx2HbFg="></div>
<label for="offering_description">Description:</label>
<input id="offering_description" name="offering[description]" size="30" type="text">
<label for="offering_location">Where?</label>
<input name="offering[location]" type="hidden" value="0">
<input id="offering_location" name="offering[location]" type="checkbox" value="Alphabet City">Alphabet City
<input name="offering[location]" type="hidden" value="0">
<input id="offering_location" name="offering[location]" type="checkbox" value="Battery Park">Battery Park
<input name="offering[location]" type="hidden" value="0">
<input id="offering_location" name="offering[location]" type="checkbox" value="Chelsea">Chelsea
<input name="offering[location]" type="hidden" value="0">
<input id="offering_location" name="offering[location]" type="checkbox" value="Chinatown">Chinatown
<input name="commit" type="submit" value="Post your offering">
</form>