0

embeds_manyフィールドが特定の値である場合、どのようにすればよいですか? 例えば。家族の一員がif18 歳以上の車を 1 台または複数所有できると仮定します。

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)次に、このまたはのようなものを使用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]

私はモンゴイドでそれを試していません。

于 2013-05-30T04:50:30.863 に答える