1

私はこのモデルを持っています:

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`"

これは本当に頭をかいてしまいます。必要に応じて、 MetaWheregemを使用しています。

更新:これをMetaWhereバグに分離しました。バニラActiveRecordでは発生しません。

4

1 に答える 1

0

Bundlerがプルダウンしていましたmeta_where 0.9.9.2~> 1.0問題を修正するためにアップグレードします。

于 2011-04-19T01:27:34.057 に答える