2016-03-28 12 views
0

Bugün bununla uğraştım ve bu hatayı aldım. Bir yol bulmaya çalışıyorum. Bunu yapmaya çalışıyorum, bir kullanıcı hesabına giriş yaptığında bir araba yaratılacaktır. HataActiveRecord :: RecordNotFound "Alışveriş sepetine 'id' =" 0 "ile ulaşılamadı ="

Sessions Kontrolörü

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 

özellikle bu hattan geliyor oluşturmak eylem benim oturumları denetleyicisi geliyor

@cart = Cart.create(:cart => Cart.find(params[:id])) 

kimse bu nasıl bildirin lütfen düzeltmek için bir fikir varsa ben biliyorum kayıt bulunmazsa bir istisna olmayacaktır

@cart = Cart.find_by_id(params[:id]) || @cart = Cart.create(:cart => params[:id]) 

find_by_id:

cevap

0

Sana böyle bir şey ile daha iyi olacağını düşünüyorum.

0

Alışveriş sepetini oluşturmadan önce bulamıyorsunuz. Sepetiniz için bir kimliğiniz varsa, aslında onu oluşturmanıza gerek yoktur, sadece onu bulup kullanıcının cart_id değerini bu değere ayarlamanız gerekmez.