2015-05-29 36 views
1

我的用户friendly_id。我在cart.rb模型说得到一个错误.. Couldn't find Product with 'id'=the-penRails的:ActiveRecord的:: RecordNotFound在车所有项目

我不知该怎么办。任何帮助,将不胜感激

cart.rb

class CartItem < ActiveRecord::Base 
    attr_reader :product_id, :quantity 

    def initialize product_id, quantity = 1 
     @product_id = product_id 
     @quantity = quantity 
    end 

    def increment 
     @quantity = @quantity + 1 
    end 

    def product 
     Product.find product_id 
    end 

    def total_price 
     product.price * quantity  
    end 


end 

ApplicationController.rb

def initialize_cart 
    @cart = Cart.build_from_hash session 
end 

OrderForm.rb

def build_order_items 
    @cart.items.each do |item| 
     @order.order_items.create! product_id: item.product_id, quantity: item.quantity 
    end 
+0

什么是'Cart.build_from_hash session'在这里做?什么是“推车”实施?你在哪条线上遇到你提到的错误? – Surya

+0

它从OrderForm模型,我会加入到问题 – JamesRocky

回答

1

你CartItem的product方法仍然采用单独的.find方法,它可以为你输入一个字符串作为参数代替数字ID来引发错误。尝试修改它来代替使用.friendly.find

希望这会有所帮助!

+0

你的天才,谢谢 – JamesRocky

相关问题