首页 > 解决方案 > 将购物车中的物品分开到不同的结账导轨中

问题描述

嗨,我使用这篇很棒的文章https://web-crunch.com/ruby-on-rails-ecommerce-music-shop/在我的应用程序中设置了一个购物车

我的问题是,由于不同的物品有不同的卖家,我需要将购物车中的物品分开到不同的结账处。我设法根据卖家做了一个小组:

@groups = @cart.line_items.group_by {|line_item| line_item.listing.user_id}.values

但我不确定如何让这些单独的组进入他们自己的结帐。任何帮助都会很棒!

class LineItem < ApplicationRecord
  belongs_to :listing
  belongs_to :cart

  def total_price
    listing.price_cents.to_i * quantity.to_i
  end
end

class Checkout < ApplicationRecord
  belongs_to :user
  has_many :line_items, dependent: :destroy
end


class Cart < ApplicationRecord
  has_many :line_items, dependent: :destroy

  def add_listing(listing)
    current_item = line_items.find_by(listing_id: listing.id)

    if current_item
      current_item.increment(:quantity)
    else
      current_item = line_items.build(listing_id: listing.id)
    end
    current_item
  end

  def total_price
    line_items.to_a.sum { |item| item.total_price }
  end

end

谢谢

标签: arraysruby-on-railsrubycartcheckout

解决方案


推荐阅读