【发布时间】:2011-07-21 15:40:13
【问题描述】:
我希望有几个子类都应该有一个范围(同名)。虽然我知道直接继承是不可能的,但基本思想如下:
class MySuperClass << ActiveRecord::Base
abstract_class = true
scope :scopeForAllSubclasses , lambda {|my_var| where(:var => my_var )}
end
class Subclass1 << MySuperClass
#has attribute var
end
class Subclass2 << MySuperClass
# has attribute var
end
所以现在我想打电话
Subclass1.scopeForAllSubclasses123).all
和
Subclass2.scopeForAllSubclasses(123).all
我想要一组类都通过设计实现了这个范围,而不是仅仅因为开发人员决定这样做。
有什么想法吗?
【问题讨论】:
标签: ruby-on-rails inheritance scope