0

embeds_many如果字段具有特定值,我该怎么做?例如。让我们假设一个家庭成员可以拥有一辆或多辆if年满 18 岁或等于 18 岁的汽车。

class FamilyMember
  include Mongoid::Document

  # Psuedo code
  embeds_many :cars, :if :age >= 18

  field :member_type, :type => String # can be dad, mom, son, daughter
  field :age, :type => Integer
end

这样的事情可能吗,还是我必须通过其他方式。即验证?

4

3 回答 3

2

试试这个,看看这里了解更多信息

embeds_many :cars do
    def with_age(age=18)
      where(age: age)
    end
end

然后您必须使用类似这样的东西family_member.cars.with_age(18)or family_member.cars.with_age,然后您可以根据需要修改条件。

于 2014-03-15T13:51:52.010 回答
0
embeds_many :cars, :if => :check_age

def check_age
  return true if self.age >= 18
end
于 2013-05-30T06:17:48.663 回答
0

在活动记录中你可以做

has_many :cars, :conditions => ['age >= ?', 18]

我还没有在 mongoid 中尝试过。

于 2013-05-30T04:50:30.863 回答