我有这个模型:
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 不会发生。