質問編集履歴
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
|
+
いい方法があったら教えて頂きたいです。
|