문제

동의 기능을 사용하여 활성 레코드 모델 중 하나에서 관련 레코드를 정렬하고 반환 해야하는 프로젝트가 있습니다. 문제는 수많은 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 환경을 업데이트 할 수없는 경우 다음과 같은 조항을 추가하여 다음과 같은 조항을 사용할 수 있습니다. Group Statement.

가장 바라는 것은 파비안입니다

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top