teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2020/12/09 09:24

投稿

winterboum
winterboum

スコア23653

answer CHANGED
@@ -2,4 +2,10 @@
2
2
  2. そうできていれば current_cart は不要です。常に user.cartで得られます。sessionに残すこともない
3
3
  3.def current_cart の elseで cart = Cart.create してますが、作成に失敗してます。user_idが渡っていないから。1してあれば不要
4
4
 
5
- とりあえずこの辺りまで直して試してください
5
+ とりあえずこの辺りまで直して試してください
6
+
7
+ =============
8
+ いくつか問題があります
9
+ 1 `@cart = @user.cart.id` => `@cart = @user.cart`
10
+ 1 `@cart_item = @cart.cart_items.build` cart に productを載せるのですから、`@item = @cart.products.build`のほうが本質です。中間tableを触るのはそこに付加情報があるのでなければ忘れる
11
+ 1 それを可能にするにはclass Cartに`has_many :cart_items`が必要。