簡體   English   中英

購物車中的Rails:ActiveRecord :: RecordNotFound

[英]Rails: ActiveRecord::RecordNotFound in Cart

我對所有項目都使用friendly_id。 我在cart.rb模型中Couldn't find Product with 'id'=the-pen一個錯誤,說.. Couldn't find Product with 'id'=the-pen

我不確定該怎么辦。 任何幫助,將不勝感激

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

CartItem的product方法仍.find使用.find方法,當您輸入字符串作為參數而不是數字ID時,該方法可能會.find錯誤。 嘗試將其修改為使用.friendly.find

希望這可以幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM