Почему мое предложение ORDER BY дублируется с этой областью ActiveRecord? - PullRequest
1 голос
/ 19 апреля 2011

У меня есть эта модель:

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.

1 Ответ

0 голосов
/ 19 апреля 2011

Бандлер сносил meta_where 0.9.9.2. Обновление до ~> 1.0 устраняет проблему.

...