Как создать область ActiveRecord, которая не влияет на запрос в Rails 3 с использованием Arel (предположительно)?
По существу, я ищу тип отношения no-op для применения к цепочке областей.
Предположим, что у меня есть цепочка областей:
Post.approved.published.all
Теперь, для целей отладки, я хочу, чтобы область published
ничего не делала, так что цепочка вернет только сообщения approved
, независимо от того, являются ли они published
или нет.
Что бы я вернулся в следующем методе:
def self.published
# what to return?
end
Ответы
Ответ 1
Сделайте published
псевдоним для all
или используйте scoped
, чтобы вернуть отношение, к которому могут быть добавлены дополнительные условия:
def self.published
all
#or
scoped
end
Я бы использовал область, возвращая all
...
scope :published, all
или, сделайте его псевдонимом для scoped
:
scope :published, scoped