0

我已经定义了下面的范围(在我的模型中),以帮助我过滤掉某些不需要的嵌套数据。

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

当我运行它时,我得到的结果包含此范围不应包含的其他事件,例如“in_progress”。

4

1 回答 1

1

我认为您的代码应该重写为

scope :active_inactive, -> {
  self.where(:state.in => ["current"], :"events.type".in =>["active","inactive"]}).desc(:created_at) 
}
于 2016-03-30T15:00:06.140 回答