Pregunta

Estoy construyendo una aplicación para las pruebas cognitivas en los carriles.
Tengo una serie de pruebas (objetos Quiz) para mis visitantes. En la página de inicio que desee mostrar sólo cuestionarios están listos para el consumo: tienen que tener una serie de preguntas y una serie de posibles respuestas
. Por supuesto que podría consultar con SQL, o volver a intentar crear un método de clase, donde todos los objetos Quiz.questions.size > 1 && Quiz.answer.size > 1. Aún así, me gustaría una forma más elegante / abstraído.
¿Hay alguna forma de consulta tiene un 'listo' método de actuación como si fuera un método ActiveRecord, por lo que se puede llamar Quiz.find_all_by_ready(1) y poner ready en cualquier condición de prueba? El almacenamiento en caché es una posibilidad, me preguntaba si había una alternativa dinámica. ¿Cómo sería un gurú rieles resolver el problema?

Saludos, España Davide

¿Fue útil?

Solución

El uso de una combinación de named_scope y counter_caches se podría hacer algo como esto:

class Quiz < AR:B
    named_scope :ready, :conditions => ['quizes.questions_count > 0 AND quizes.answers_count > 0']
end

@quizes = Quiz.ready

Espero que esto ayude!

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