在Rails,可以将named_scope
额外,上下文敏感的方法,像这样后添加块:保持named_scope扩展DRY
class User < ActiveRecord::Base
named_scope :inactive, :conditions => {:active => false} do
def activate
each { |i| i.update_attribute(:active, true) }
end
end
end
在这个例子中,activate
方法被不限定在User
类,但在ActiveRecord::NamedScope::Scope
对象上。
我有一系列需要具有相同方法定义的三个范围。为了不重复代码,我将如何抽象该块以便我可以定义一次并将其传递给每个named_scope
?
谢谢!我忘了'&'。知道这是简单的事情。 – 2010-02-04 01:10:01