我正在使用 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
但这似乎非常低效。有什么想法吗?