質問: item.name ``` コントローラ側で入力値を受け取ろうとすると params[:user][:item_ids]=>["", "1", "", "2", "", "3"] と余分なブランクがPOSTされてしまっています。 余分なブランクを除去することも可能ですが気持ち悪いのでPOSTされない制御にしたいです。 hiddenフォームを生成しない使い方はあるでしょうか?
回答: multipleオプションを使用しても挙動は変わりませんでした。 = f.check_box :items, {:checked => @user.items.include?(item), :name => "user[item_ids][]"}, item.id, "" を = f.check_box :items, {:checked => @user.items.include?(item), :name => "user[item_ids][]"}, item.id, nil と最後の引数にnilを指定することで解決できました。 (最後の引数に何も指定しないと0の値のhiddenが生成されます)