ActiveRecord映射选择

时间:2015-11-12 21:29:59

标签: ruby-on-rails ruby activerecord activemodel

我的Order有很多Bids

如果我要做order.bids,我会找回两个bid个对象的数组。这些中的每一个bid objects has a boolean field called accpeted。我如何仅返回已接受的出价?

类似于order.bids.accepted?

我想我会把它放在Bid模型中,但似乎无法使语法正确。

1 个答案:

答案 0 :(得分:2)

您需要使用Rails scopes

class Bid < ActiveRecord::Base
  scope :accepted, -> { where(accepted: true) }
end

之后,您可以使用以下方式访问接受的出价:

order.bids.accepted

(最后应该没有问号。)