回答編集履歴

3

追記の3

2020/01/13 11:21

投稿

winterboum
winterboum

スコア23329

test CHANGED
@@ -59,3 +59,23 @@
59
59
 
60
60
 
61
61
  User, Order, Cart の関係を教えてください。
62
+
63
+
64
+
65
+ 追記の3
66
+
67
+ モデル間の関連やモデル名の不自然なところはコメントで指摘しています。
68
+
69
+ さて
70
+
71
+ Orderが1:多だとすると、Order_idが決まるのはいつ、どこでですか?
72
+
73
+ その設計が無いようです。
74
+
75
+
76
+
77
+ n~~~結構厄介そう
78
+
79
+ Userと1:1なCartを作り、CartBoxLunchで注文を取り、注文確定したらOrderを作る
80
+
81
+ のほうが作りやすそう。

2

追記2

2020/01/13 11:20

投稿

winterboum
winterboum

スコア23329

test CHANGED
@@ -41,3 +41,21 @@
41
41
  ところが、CartItemは belongs_to :order になっているので、order_idなしにsave出来ないはずです。
42
42
 
43
43
  もしかしてこのlogを取った時は載せているプログラムとは違ってる?
44
+
45
+
46
+
47
+ 追記2
48
+
49
+ >①order_idが代入されるのは、17行目のsession[:order_id] = @current_cart.id です。
50
+
51
+ >loginの時に定義しておりません。
52
+
53
+ とすると current_cart は永遠に nil です。
54
+
55
+
56
+
57
+ どこかで order なり cart なり確定する必要があります。
58
+
59
+
60
+
61
+ User, Order, Cart の関係を教えてください。

1

追記

2020/01/13 09:09

投稿

winterboum
winterboum

スコア23329

test CHANGED
@@ -19,3 +19,25 @@
19
19
  もしかするとloginの時に定義してますか?
20
20
 
21
21
  そこを確認してください
22
+
23
+
24
+
25
+ 追記
26
+
27
+ 不思議、、、、
28
+
29
+ (0.2ms) BEGIN
30
+
31
+ ↳ app/controllers/cart_items_controller.rb:7
32
+
33
+ CartItem Create (0.9ms) INSERT INTO "cart_items" ("boxlunch_id", "created_at", "updated_at") VALUES ($1, $2, $3) RETURNING "id" [["boxlunch_id", 2], ["created_at", "2020-01-12 14:54:40.381901"], ["updated_at", "2020-01-12 14:54:40.381901"]]
34
+
35
+ ↳ app/controllers/cart_items_controller.rb:7
36
+
37
+ (0.5ms) COMMIT
38
+
39
+ とあるのでCartItemは作られています。ただ見て判るように order がなになのかわからない状態で。
40
+
41
+ ところが、CartItemは belongs_to :order になっているので、order_idなしにsave出来ないはずです。
42
+
43
+ もしかしてこのlogを取った時は載せているプログラムとは違ってる?