0

我正在使用 Rails 3.2 和 Mongoid,我需要建立一个简单的购买关联。目前我有:

class Item
has_many :purchases

class Buyer
has_many :purchases

class Purchase
has_one :buyer
has_one :item

我希望能够调用我当前实现的给定买家购买的所有商品:def purchase_by(buyer_id) items = [] ids = Buyer.find(buyer_id).purchase_ids Item.each do |i| items << i if (i.purchase_ids & ids).length > 0 end items end

但这似乎非常低效。有什么想法吗?

4

1 回答 1

0

尝试这个:

class Buyer
  def items_purchased
    purchases.collect(&:item)
  end
end

然后给定一个 object buyer,你可以通过调用得到你想要的:

buyer.items_purchased
于 2013-02-05T18:23:41.233 回答