2012-11-02 42 views
0

我試圖計算總價包含在購物車中的所有物品未定義的方法。但是我得到一個undefined method total_cart_price for ActiveRecord::Relation:xxxRails的ActiveRecord的::關係誤差計算車項目

購物車模型(shop_cart.rb)

has_many :shop_cart_items, :dependent => :destroy 


    def total_cart_price 
    shop_cart_items.to_a.sum { |item| item.total_price } 
    end 

購物車項目模型(shop_cart_item.rb)

attr_accessible :quantity, :shop_cart_id, :shop_product_id 

    belongs_to :shop_product 
    belongs_to :shop_cart 


    def total_price 
    shop_product.sell * quantity 
    end 

籃查看(店/ basket.html.erb)

<tbody> 
    <% @cart_items.each do |item| %> 
     <tr> 
     <td><%= item.shop_product.name %></td> 
     <td><%= number_to_currency(item.shop_product.sell) %></td> 
     <td><%= item.quantity %></td> 
     <td><%= number_to_currency(item.total_price) %></td> 
     </tr> 
    <% end %> 
    <tr> 
    <td></td> 
    <td></td> 
    <td>Subtotal:</td> 
    <td><%= number_to_currency(@cart_items.total_cart_price) %></td> 
    </tr> 
</tbody> 

單件商品的總價格工作正常;該錯誤正試圖計算所有項目的總和。

我沒有shop_cart控制器或意見,我打電話從店#籃鑑於方法 - 不知道這是什麼原因造成的問題?

任何幫助非常感謝。

回答

0

試試這個, @cart_items.shop_cart.total_cart_price這是一個購物車的方法。

+0

嗨,這給我一個未定義的方法'shop_cart'的ActiveRecord ::關係 – Neal

+0

哦,你有'@ shop_cart'變量控制器可以使用這個或'@ cart_items.first.shop_cart.total_cart_price' – Amar

+0

非常好,謝謝。使用@ cart_items.first,我雖然只會得到購物車中第一件商品的總和,但它已經奏效。 – Neal