2016-03-22 10 views
0

Я определил область ниже (в моей модели), чтобы помочь мне отфильтровать определенные ненужные вложенные данные.Фильтровать вложенные атрибуты с ruby ​​mongoid gem

scope :active_inactive, -> { self.in({ 
     state: ["current"], 
     "events.type" => [ 
     :active, 
     :inactive, 
     ] 
    }).desc(:created_at) 
    } 

Когда я запускаю это, я получаю результаты, содержащие другие события, такие как «in_progress», которые не должны содержать эту область видимости.

ответ

1

Я думаю, что ваш код должен быть переписан в

scope :active_inactive, -> { 
    self.where(:state.in => ["current"], :"events.type".in =>["active","inactive"]}).desc(:created_at) 
} 
+0

Почти там @vitali –