Ruby on rails Ruby编程-使用命名作用域时避免代码重复

Ruby on rails Ruby编程-使用命名作用域时避免代码重复,ruby-on-rails,ruby,ruby-on-rails-2,Ruby On Rails,Ruby,Ruby On Rails 2,我的模型中有多个命名作用域。它们有不同的名称,但参数相同。 现在,当我根据条件使用这些命名范围时,我必须一直复制整个参数。有没有办法避免这种情况 对于ex: 在我看来,产品模型: named_scope :example1, lambda{ |parameter1, parameter2|{ //some code here// } } named_scope :example2, lambda{ |parameter1, parameter2|{ //some code here//

我的模型中有多个命名作用域。它们有不同的名称,但参数相同。 现在,当我根据条件使用这些命名范围时,我必须一直复制整个参数。有没有办法避免这种情况

对于ex: 在我看来,产品模型:

named_scope :example1, lambda{ |parameter1, parameter2|{
 //some code here//
 }
}

named_scope :example2, lambda{ |parameter1, parameter2|{
 //some code here//
 }
}

named_scope :example3, lambda{ |parameter1, parameter2|{
 //some code here//
 }
}
现在,我想根据条件使用这些

if(condition)

Product.example1(param1, param2)

elsif (condition)

Product.example2(param1, param2)

else

Product.example3(param1, param2)
在ruby中有没有办法这样称呼它:

variable = example1 //I can get the name of named_scope here

Product.variable(param1, param2). //The relevant named_scope should be used.
您可以使用do发送产品消息(也称为调用方法)


非常感谢@bento。。。工作起来很有魅力…需要15个代表点来投票支持这个答案:(
Product.send(variable,param1,param2)