我的模型中有多个命名范围。它们具有不同的名称但参数相同。 现在,当我根据条件使用这些命名范围时,我必须一直复制整个参数。无论如何要避免这种情况吗?
对于前者: 在我说的产品型号:
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.