Ruby on rails ActiveRecord的Rails未定义方法::计算购物车项目时发生关系错误

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) 小计: 对于单个项目,总价可以正常工作;错误是试图计算所有项目的总和 我没有购物车控制器或视图,因为我正在从购物篮视图调用方法-不确定这是否是导致问题的原因 非常感谢您

我正在尝试计算购物车中包含的所有物品的总价。然而,我得到的是ActiveRecord::Relation:xxx的
未定义方法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>