Access named scope dynamically

2019-08-31 19:42发布

问题:

If I have 3 named scopes like

class Foo

scope :test1, ...
scope :test2, ...
scope :test3, ...

And a function

def x(variable)

end

where variable is a string("test1","test2" or "test3")

How can I access the named scope just by knowing that variable's value ?

Something like Foo.variable

回答1:

You would call Foo.public_send(variable).