我有这个型号:
class Coupon < ActiveRecord::Base
default_scope order(:created_at)
scope :inactive, where(:active => false)
end
使用ORDER BY
范围时,我看到inactive
子句有些奇怪的重复:
> Coupon.scoped.to_sql
=> "SELECT `coupons`.* FROM `coupons` ORDER BY `coupons`.`created_at`"
> Coupon.inactive.to_sql
=> "SELECT `coupons`.* FROM `coupons` WHERE (`coupons`.`active` = 0) ORDER BY `coupons`.`created_at`, `coupons`.`created_at`"
这个真让我挠头。如果相关,我正在使用MetaWhere gem。
更新:我已将此隔离为MetaWhere错误。香草ActiveRecord不会发生。
答案 0 :(得分:0)
Bundler正在拉下meta_where 0.9.9.2
。升级到~> 1.0
可以解决问题。