私は現在、いくつかのスコープフィルタを扱っています。メソッドにフィルタをかけたいのですが(別の方法で名前を付ける方法はわかりません)。私のコード:スコープをModelメソッドと組み合わせて使用する方法は?
class Product < ActiveRecord::Base
def price_with_discount
price-discount.to_f
end
scope :by_price, lambda {|min,max|{ :conditions => { :price_with_discount => min.to_f..max.to_f }}}
end
これは動作しません:「price_with_discount
という名前の属性がテーブルproducts
のために存在しません」。 price_with_discount
という名前の列を検索する代わりに、私が定義した方法を使用して範囲を欺くことができますか?
ビヨーン
私のコードをあなたの例のように調整しました。私はRails 3であり、完全に動作します。 – Bjorn