Как сделать область Activerecord, которая не влияет на запрос в Rails 3, используя AREL (предположительно)?

StackOverflow https://stackoverflow.com/questions/7339214

Вопрос

По сути, я ищу неоперационный тип отношения, чтобы применить к цепочке областей.

Допустим, у меня есть цепочка сферы:

Post.approved.published.all

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

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

def self.published
  # what to return?
end
Это было полезно?

Решение

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

def self.published
  all
  #or
  scoped
end

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

scope :published, all

или сделать это псевдонимом scoped:

scope :published, scoped
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top