Как получить список всех областей применения ActiveRecord (rails 3.1) - PullRequest
1 голос
/ 27 июля 2011

Как я могу получить список всех областей в модели ActiveRecord, используя Rails 3.1?

В соответствии с документацией для 3.0.9 предполагается, что существует метод под названием "scopes" http://api.rubyonrails.org/classes/ActiveRecord/NamedScope/ClassMethods.html#method-i-scopes,, но этот метод, по-видимому, не существует.

1 Ответ

0 голосов
/ 02 августа 2011

Вы можете использовать Model.send(:valid_scope_name?, scope_name), чтобы проверить, существует ли область действия в этом классе. Области применения имели смысл в Rails 2.x, но больше не в 3.x, где у вас есть объекты отношений.

Итак, вместо:

 scope :red_ones, where(color: 'red')

Вы бы получили:

 def self.red_ones
   where(color: 'red')
 end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...