'Неизвестный ключ (ы):наличие' В Ruby on Rails метода поиска ActiveRecord

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

Вопрос

У меня есть проект, которому необходимо использовать функцию aggrate для сортировки и возврата соответствующих записей из одной из моих активных моделей записей.Проблема в том, что, несмотря на то, что я видел его в многочисленных руководствах по rails и, несмотря на то, что он есть в онлайн-документации ActiveRecord, мое приложение Rails выдает мне эту ошибку при вызове метода:

Unknown key(s): having

Есть какие-нибудь идеи, почему?

Я использую его следующим образом (у меня действительно есть :group => перед этим, который работает, как и без : при правильном выполнении кода он просто не фильтруется, что мне и нужно.):

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]
)
Это было полезно?

Решение

Вы уверены, что ваша версия RoR актуальна?ActiveRecord обеспечивает поддержку для: уже (я думаю) 2 лет, но, вероятно, вы просто используете устаревшую версию?

Если вы не можете обновить свою среду rails, вы все равно можете использовать предложение HAVING, добавив его в конец вашего оператора :group .

Наилучшие пожелания, Фабиан

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