今天正在玩这个并收到这个错误我试图找到解决办法。我试图拥有它,以便在用户登录他/她的帐户时创建购物车。错误来自我在创建操作的会话控制器
会话控制器
class SessionsController < ApplicationController
def create
....
if @user && @user.authenticate(params[:user][:password])
session[:user_id] = @user.id
@cart = Cart.create(:cart => Cart.find(params[:id]))
@user.cart = @cart.id
@user.save
redirect_to @user
具体来说,它来自
行@cart = Cart.create(:cart => Cart.find(params[:id]) )
如果有人知道如何解决这个问题,请告诉我。
答案 0 :(得分:0)
我认为你会更喜欢这样的事情:
@cart = Cart.find_by_id(params[:id]) || @cart = Cart.create(:cart => params[:id])
如果找不到记录,find_by_id不会抛出异常。
答案 1 :(得分:0)
在创建购物车之前,您无法找到购物车。如果您有购物车的ID,则根本不需要创建它,只需找到它并将用户的cart_id设置为该值。