次の要件を満たすデータを登録したいのですが、うまく実装できずに困っています。
- 店マスタと商品マスタが元々ある。
- 店ごとに扱う商品を決めたい。
(環境:Ruby2.1 / Rails4.1)
そこで以下のような3テーブルを考えました。
Shops - id - name Items - id - name Items_Shops #<=追加 - id - shop_id - item_id
サイトの見た目としては、Shopごとにアカウントが分かれています。
「取扱商品設定」のような画面で、Itemsに登録されている商品が全て表示され、
チェックボックスで任意の商品を選択してItems_Shopsに更新、といった流れの想定です。
困っている点としては、ShopsとItemsのデータは更新せずに、Items_Shopsだけ更新するやり方が分かりません。しかもチェックボックスなので、1回の更新で複数のINSERTが実行されると思います。
collection_check_boxes などでやろうと思いましたが、
ShopsやItemsと一緒に中間テーブルも更新する、といった内容しか見当たりませんでした。
form_tagでフォームをつくり、
コントローラでチェックの分だけeachを回してINSERT(チェックが外れたらDELETE)するしかないでしょうか。
何かしらのアドバイス、または参考サイトなど紹介いただけると幸いです。
よろしくお願いいたします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/05/15 13:50