How do I make an ActiveRecord scope that doesn't affect the query in Rails 3 using Arel (presumably)?

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

Pergunta

Essentially I am looking for a no-op type of relation to apply to a chain of scopes.

Lets say I have a chain of scopes:

Post.approved.published.all

Now, for debugging purposes, I wish to make the published scope do nothing at all, so that the chain will only return approved posts, regardless of whether they are published or not.

What would I return in the following method:

def self.published
  # what to return?
end
Foi útil?

Solução

Make published an alias for all, or use scoped to return a relation to which additional conditions can be chainged:

def self.published
  all
  #or
  scoped
end

I would use a scope, returning all...

scope :published, all

or, make it an alias for scoped:

scope :published, scoped
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top