我已经定义了下面的范围(在我的模型中),以帮助我过滤掉某些不需要的嵌套数据。
scope :active_inactive, -> { self.in({
state: ["current"],
"events.type" => [
:active,
:inactive,
]
}).desc(:created_at)
}
当我运行此操作时,我得到的结果包含其他事件,例如“in_progress”,此范围不应包含。
答案 0 :(得分:1)
我认为您的代码应该重写为
scope :active_inactive, -> {
self.where(:state.in => ["current"], :"events.type".in =>["active","inactive"]}).desc(:created_at)
}