我的模型中有多个命名范围。它们具有不同的名称,但具有相同的参数。现在,当我根据条件使用这些命名范围时,我必须一直复制整个参数。有没有办法避免这种情况?
例如: 在我说的产品模型中:
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)
有没有办法在红宝石中这样称呼它:
variable = example1 //I can get the name of named_scope here
Product.variable(param1, param2). //The relevant named_scope should be used.