質問編集履歴
2
内容の修正
    
        title	
    CHANGED
    
    | 
         
            File without changes
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -39,13 +39,13 @@ 
     | 
|
| 
       39 
39 
     | 
    
         | 
| 
       40 
40 
     | 
    
         | 
| 
       41 
41 
     | 
    
         
             
            追記
         
     | 
| 
       42 
     | 
    
         
            -
            Userモデルは
         
     | 
| 
      
 42 
     | 
    
         
            +
            Userモデルははusernameカラムを持ち
         
     | 
| 
       43 
43 
     | 
    
         
             
            ```ここに言語を入力
         
     | 
| 
       44 
44 
     | 
    
         
             
            has_many :user_product_category
         
     | 
| 
       45 
45 
     | 
    
         
             
            has_many :product_category through: :user_product_category
         
     | 
| 
       46 
46 
     | 
    
         
             
            ```
         
     | 
| 
       47 
47 
     | 
    
         | 
| 
       48 
     | 
    
         
            -
            user_product_categoryは 
     | 
| 
      
 48 
     | 
    
         
            +
            user_product_categoryは
         
     | 
| 
       49 
49 
     | 
    
         
             
            ```ここに言語を入力
         
     | 
| 
       50 
50 
     | 
    
         
             
            belongs_to :users
         
     | 
| 
       51 
51 
     | 
    
         
             
            belongs_to :product_category
         
     | 
1
詳細説明を追記
    
        title	
    CHANGED
    
    | 
         
            File without changes
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -35,4 +35,85 @@ 
     | 
|
| 
       35 
35 
     | 
    
         
             
            でユーザーごとsaveすればいいとも書いてあったのですが、これだとpriceカラムをどのように入れればいいのかわからないというのがありまして・・・
         
     | 
| 
       36 
36 
     | 
    
         | 
| 
       37 
37 
     | 
    
         | 
| 
       38 
     | 
    
         
            -
            何解決策はないか教えて下さい。お願いします。
         
     | 
| 
      
 38 
     | 
    
         
            +
            何解決策はないか教えて下さい。お願いします。
         
     | 
| 
      
 39 
     | 
    
         
            +
             
     | 
| 
      
 40 
     | 
    
         
            +
             
     | 
| 
      
 41 
     | 
    
         
            +
            追記
         
     | 
| 
      
 42 
     | 
    
         
            +
            Userモデルは
         
     | 
| 
      
 43 
     | 
    
         
            +
            ```ここに言語を入力
         
     | 
| 
      
 44 
     | 
    
         
            +
            has_many :user_product_category
         
     | 
| 
      
 45 
     | 
    
         
            +
            has_many :product_category through: :user_product_category
         
     | 
| 
      
 46 
     | 
    
         
            +
            ```
         
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
      
 48 
     | 
    
         
            +
            user_product_categoryはusernameカラムを持ち
         
     | 
| 
      
 49 
     | 
    
         
            +
            ```ここに言語を入力
         
     | 
| 
      
 50 
     | 
    
         
            +
            belongs_to :users
         
     | 
| 
      
 51 
     | 
    
         
            +
            belongs_to :product_category
         
     | 
| 
      
 52 
     | 
    
         
            +
            ```
         
     | 
| 
      
 53 
     | 
    
         
            +
            でカラムとしては
         
     | 
| 
      
 54 
     | 
    
         
            +
            ```ここに言語を入力
         
     | 
| 
      
 55 
     | 
    
         
            +
            user_id, :integer
         
     | 
| 
      
 56 
     | 
    
         
            +
            product_category_id, :integer
         
     | 
| 
      
 57 
     | 
    
         
            +
            price, :integer
         
     | 
| 
      
 58 
     | 
    
         
            +
            ```
         
     | 
| 
      
 59 
     | 
    
         
            +
             
     | 
| 
      
 60 
     | 
    
         
            +
            product_categoryはnameカラムをもっていて
         
     | 
| 
      
 61 
     | 
    
         
            +
            ```ここに言語を入力
         
     | 
| 
      
 62 
     | 
    
         
            +
            has_many :user_product_category
         
     | 
| 
      
 63 
     | 
    
         
            +
            has_many :users through: :user_product_category
         
     | 
| 
      
 64 
     | 
    
         
            +
            ```
         
     | 
| 
      
 65 
     | 
    
         
            +
            を持っている状態です
         
     | 
| 
      
 66 
     | 
    
         
            +
             
     | 
| 
      
 67 
     | 
    
         
            +
            createメソッドについてやりたいことは
         
     | 
| 
      
 68 
     | 
    
         
            +
             
     | 
| 
      
 69 
     | 
    
         
            +
            1・まず、ProductCategories.allで手に入る全製品カテゴリ名をチェックボックスで表示
         
     | 
| 
      
 70 
     | 
    
         
            +
             
     | 
| 
      
 71 
     | 
    
         
            +
            2・checkboxの横に数字を入れるテキストフィールドがありpriceを入力する
         
     | 
| 
      
 72 
     | 
    
         
            +
             
     | 
| 
      
 73 
     | 
    
         
            +
            3・更新を押すとuser_product_categoryコントローラにparamsが飛んで
         
     | 
| 
      
 74 
     | 
    
         
            +
            checkboxがついてる製品カテゴリの中間テーブルを生成。
         
     | 
| 
      
 75 
     | 
    
         
            +
            checkboxがあったが外れたものについては削除。
         
     | 
| 
      
 76 
     | 
    
         
            +
            さらにpriceフィールドのバリデーションをする
         
     | 
| 
      
 77 
     | 
    
         
            +
             
     | 
| 
      
 78 
     | 
    
         
            +
            例えば
         
     | 
| 
      
 79 
     | 
    
         
            +
            user_id=1のユーザーAがおり
         
     | 
| 
      
 80 
     | 
    
         
            +
             
     | 
| 
      
 81 
     | 
    
         
            +
            製品カテゴリ1(id=1)
         
     | 
| 
      
 82 
     | 
    
         
            +
            製品カテゴリ2(id=2)
         
     | 
| 
      
 83 
     | 
    
         
            +
            製品カテゴリ3(id=3)
         
     | 
| 
      
 84 
     | 
    
         
            +
            があるとして
         
     | 
| 
      
 85 
     | 
    
         
            +
             
     | 
| 
      
 86 
     | 
    
         
            +
            ユーザーAは最初に製品カテゴリ1にチェックし、1000円と入力する
         
     | 
| 
      
 87 
     | 
    
         
            +
            ↓
         
     | 
| 
      
 88 
     | 
    
         
            +
            user_product_categoryテーブルで
         
     | 
| 
      
 89 
     | 
    
         
            +
             
     | 
| 
      
 90 
     | 
    
         
            +
            id=1
         
     | 
| 
      
 91 
     | 
    
         
            +
            user_id=1
         
     | 
| 
      
 92 
     | 
    
         
            +
            product_categories_id=1
         
     | 
| 
      
 93 
     | 
    
         
            +
            price=1000
         
     | 
| 
      
 94 
     | 
    
         
            +
             
     | 
| 
      
 95 
     | 
    
         
            +
            というレコードが生成される
         
     | 
| 
      
 96 
     | 
    
         
            +
             
     | 
| 
      
 97 
     | 
    
         
            +
            次にユーザーAは製品カテゴリ1のチェックを外し、製品カテゴリ2と製品カテゴリ3のチェックを付け、両方共にprice=1200を入力し更新ボタンを押す
         
     | 
| 
      
 98 
     | 
    
         
            +
            ↓
         
     | 
| 
      
 99 
     | 
    
         
            +
            user_product_categoryテーブルで
         
     | 
| 
      
 100 
     | 
    
         
            +
             
     | 
| 
      
 101 
     | 
    
         
            +
            id=1のレコードはチェックが外れたので削除
         
     | 
| 
      
 102 
     | 
    
         
            +
             
     | 
| 
      
 103 
     | 
    
         
            +
            id=2
         
     | 
| 
      
 104 
     | 
    
         
            +
            user_id=1
         
     | 
| 
      
 105 
     | 
    
         
            +
            product_categories_id=2
         
     | 
| 
      
 106 
     | 
    
         
            +
            price=1200
         
     | 
| 
      
 107 
     | 
    
         
            +
             
     | 
| 
      
 108 
     | 
    
         
            +
            id=3
         
     | 
| 
      
 109 
     | 
    
         
            +
            user_id=1
         
     | 
| 
      
 110 
     | 
    
         
            +
            product_categories_id=3
         
     | 
| 
      
 111 
     | 
    
         
            +
            price=1200
         
     | 
| 
      
 112 
     | 
    
         
            +
             
     | 
| 
      
 113 
     | 
    
         
            +
            というレコードが生成される
         
     | 
| 
      
 114 
     | 
    
         
            +
             
     | 
| 
      
 115 
     | 
    
         
            +
             
     | 
| 
      
 116 
     | 
    
         
            +
            こんな感じにしたいです。
         
     | 
| 
      
 117 
     | 
    
         
            +
             
     | 
| 
      
 118 
     | 
    
         
            +
            ただこの時strong parameterはどのように書くのかとかどうやって一括でpriceフィールドのバリデーションするかとか全く思いつきませんでした。
         
     | 
| 
      
 119 
     | 
    
         
            +
            いい方法があったら教えて頂きたいです。
         
     |