0

Rails 3.2とMongoidを使用しており、簡単な購入の関連付けを設定する必要があります。私が持っている現在:

class Item
has_many :purchases

class Buyer
has_many :purchases

class Purchase
has_one :buyer
has_one :item

現在達成している特定の購入者が購入したすべてのアイテムを呼び出すことができるようにしたいと思います。defpurchased_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

次に、オブジェクトbuyerを指定すると、次のように呼び出すことで、必要なものを取得できます。

buyer.items_purchased
于 2013-02-05T18:23:41.233 に答える