Pregunta

Tengo un proyecto que necesita utilizar una función agregrate para ordenar y devolver registros pertinentes de uno de mis modelos de registro activos. El problema es que, a pesar de ver que utiliza en numerosos tutoriales carriles, ya pesar de estar en la documentación en línea ActiveRecord, mi aplicación Rails lanza este error de mí cuando se llama al método:

Unknown key(s): having

Cualquier idea por qué?

lo estoy usando como esto (tengo un :group => ante el mismo que funciona, ya que sin el: tener el código se ejecuta correctamente, es simplemente no filtrada - lo que necesito.):

Question.find(
  :all,
  :select => "questions.id, questions.text, questions.question_type_id, questions.meta, questions.max_answer_length, CAST(COUNT(form_questions.id) AS REAL) / CAST((SELECT COUNT(*) FROM application_forms) AS REAL) AS expr1",
  :joins => "INNER JOIN form_questions ON questions.id = form_questions.question_id",
  :order => "expr1 DESC",
  :group => "questions.id, questions.text, questions.question_type_id, questions.meta, questions.max_answer_length",
  :having => ["expr1 >= ?", 0.75]
)
¿Fue útil?

Solución

¿Está seguro de que su versión de RoR es hasta la fecha? ActiveRecord proporciona soporte para: teniendo por (creo) 2 años ahora, pero probablemente sólo estás usando una versión obsoleta?

Si no puede actualizar su entorno carriles aún puede utilizar la cláusula HAVING añadiéndolo al final de su:. Declaración del grupo

Mejor deseado, Fabian

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