Ruby on rails ActiveRecord的Rails未定义方法::计算购物车项目时发生关系错误
我正在尝试计算购物车中包含的所有物品的总价。然而,我得到的是ActiveRecord::Relation:xxx的Ruby on rails ActiveRecord的Rails未定义方法::计算购物车项目时发生关系错误,ruby-on-rails,ruby-on-rails-3,activerecord,Ruby On Rails,Ruby On Rails 3,Activerecord,我正在尝试计算购物车中包含的所有物品的总价。然而,我得到的是ActiveRecord::Relation:xxx的未定义方法total\u cart\u price 购物车模型(Shop\u Cart.rb) 购物车项目模型(Shop\u Cart\u Item.rb) 购物篮视图(shop/Basket.html.erb) 小计: 对于单个项目,总价可以正常工作;错误是试图计算所有项目的总和 我没有购物车控制器或视图,因为我正在从购物篮视图调用方法-不确定这是否是导致问题的原因 非常感谢您
未定义方法total\u cart\u price
购物车模型(Shop\u Cart.rb)
购物车项目模型(Shop\u Cart\u Item.rb)
购物篮视图(shop/Basket.html.erb)
小计:
对于单个项目,总价可以正常工作;错误是试图计算所有项目的总和
我没有购物车控制器或视图,因为我正在从购物篮视图调用方法-不确定这是否是导致问题的原因
非常感谢您的帮助。试试这个,
@cart\u items.shop\u cart.total\u cart\u price
这是一个cart方法。嗨,这给我一个未定义的方法'shop\u cart'for ActiveRecord::Relationoh你有@shop\u cart
变量控制器吗?你可以使用这个或@cart\u items.first.shop\u cart.total\u cart\u price
非常好,谢谢。Used@cart\u items.first,我认为它只能得到购物车中第一个项目的金额,但它已经起作用了。
has_many :shop_cart_items, :dependent => :destroy
def total_cart_price
shop_cart_items.to_a.sum { |item| item.total_price }
end
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
<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>