我想知道使用实例方法过滤记录来制作范围的最佳方法是什么。这是我的模型:
class Promotion < ActiveRecord::Base
scope :availables, lambda{ all.select{ |obj| obj.is_available? } }
def is_available?
Date.today <= Date.strptime(valid_thru, '%m/%d/%Y')
...more validations here
end
end
这里的问题是这个范围返回一个数组而不是一个 ActiveRecord::Relation 并且我无法链接其他范围。
有什么建议吗?