- 締切済み
チェックボックス
Ruby on Railsを利用したオープンソースのCMS(Rubricks)で作成しているのですが。。 チェックボックスで複数選択した情報をDBへ保存する方法が分かりません。 【状況】 C コントローラ @kudamonos = Kudamono::KudamonoKind.find(:all) V ビュー <% @kudamonos.each do |kudamono| %> <span style="white-space:"> <%= check_box kudamonos",kudamono.id, :checked => nil %> <%= hl(kudamono.kudamono_name) %> </span> <% end %> check_box_tag はうまくいきません。。 DB mysql> select * from kudamono_kinds; +----+---------------+ | id | kudamono_name | +----+---------------+ | 1 | りんご | | 2 | みかん | | 3 | いちご | +----+---------------+ mysql> select * from kudamono_masters; +----+------------------+----------------+ | id | kudamono_name_id | select_buy_id | +----+------------------+----------------+ | 1 | 1 | 1 | | 2 | 2 | 1 | | 3 | 3 | 1 | +----+------------------+----------------+ select_buy_id は今は無視して下さい。 チェックボックスですべてチェックした場合上記の用に保存したいです。 説明不足ですが、どなたか教えていただきらいです。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- lv4u
- ベストアンサー率27% (1862/6715)
【状況】のビューの中の以下の行で、とりあえず”(ダブルクォート)が抜けていてエラーになっていると思います。また、チェックボックスの指定のやりかたも、書籍に載っているのと違っているように思えます。 <%= check_box kudamonos",kudamono.id, :checked => nil %> とりあえず、問題を簡単にするために、1つだけのチェックボックスの指定で正常動作するのを確認して、それを複数行記述して、それがOKになったら、本来のリピートを使った記述方法に直すのがいいと思います。 ちなみに、チェックボックスが1つだけの場合、手元のサンプルを修正して試したら、以下の記述でOKでした。この例は1と0で、オン/オフを表しています。 <%= f.check_box(:chk1, {}, 1, 0) %>