У меня есть эта модель:
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 , если это актуально.
Обновление : я выделил это для MetaWhere ошибки. Не бывает с ванильным ActiveRecord.