¿Cómo hago un alcance de Activerecord que no afecta la consulta en Rails 3 usando Arel (presumiblemente)?

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

Pregunta

Esencialmente, estoy buscando un tipo de relación no-op que se aplique a una cadena de ámbitos.

Digamos que tengo una cadena de ámbitos:

Post.approved.published.all

Ahora, para fines de depuración, deseo hacer el published el alcance no hacer nada en absoluto, de modo que la cadena solo regrese approved publicaciones, independientemente de si son published O no.

¿Qué devolvería en el siguiente método:

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

Solución

Hacer published un alias para all, o usar scoped Para devolver una relación con la cual se pueden ver condiciones adicionales:

def self.published
  all
  #or
  scoped
end

Usaría un alcance, volviendo all...

scope :published, all

O hazlo un alias para scoped:

scope :published, scoped
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top