Как сделать область ActiveRecord, которая не влияет на запрос в Rails 3, используя Arel (предположительно)? - PullRequest
15 голосов
/ 07 сентября 2011

По сути, я ищу отношение типа no-op для применения к цепочке областей.

Допустим, у меня есть цепочка областей действия:

Post.approved.published.all

Теперь дляВ целях отладки я хочу, чтобы область действия published вообще ничего не делала, чтобы цепочка возвращала только approved сообщений, независимо от того, являются ли они published или нет.

Что бы я вернулв следующем методе:

def self.published
  # what to return?
end

1 Ответ

19 голосов
/ 08 сентября 2011

Создайте published псевдоним для all или используйте scoped, чтобы вернуть отношение, к которому могут быть добавлены дополнительные условия:

def self.published
  all
  #or
  scoped
end

Я бы использовал область видимости, возвращая all ...

scope :published, all

или создайте псевдоним для scoped:

scope :published, scoped
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...