Предположим, я определил группу named_scopes в модели Person рельсов. Например:
named_scope :male ...
named_scope :tall
named_scope :short
named_scope :happy
... что угодно.
Что я делаю, так это сглаживаю кучу областей действия в route.rb, и в конце концов у меня появляется массив областей действия, например:
scopes = ["male", "happy", "short"]
Теперь я знаю, что могу сделать это:
Person.male.happy.short
и получите записи, которые соответствуют этим областям.
Но я хочу иметь возможность сделать это через массив в качестве параметра, потому что, как мы знаем, мы также можем сделать это:
somescope = "male"
result = Person.send(somescope)
, что совпадает с
result = Person.male
Итак, при наличии массива областей, таких как «области», описанных выше, как я могу наилучшим образом получить результат
Person.male.happy.short
из массива
["male", "happy", "short"]
Мучо ценится.