-1
와 오류를 제공 곳과 모델을 포함
I가 다음과 같은 협회 :레일 : 포스트 그레스
ActiveRecord::StatementInvalid: PG::Error: ERROR: argument of WHERE must be type boolean, not type integer
: 나는 다음과 같은 오류가
Menu.includes(:restaurant).where("restaurants.city_id", 3)
:
Restaurant has_many Menus
Menu belongs_to Restaurant
Restaurant belongs_to City
City has_many Restaurants
다음 쿼리를 수행 여기서 내가 뭘 잘못하고 있니?
레일즈 가이드에서 직접 가져 와서 "Post.includes (: comments) .where ("comments.visible ", true)"를 찾을 수 있습니다. - http://guides.rubyonrails.org/ active_record_querying.html –
우연히 만 작동하는 것 같습니다. 조건이 부울 값인 경우 PostGres는이를 조건으로 처리하는 방법을 알고 있습니다 (쿼리 실행은'SELECT "comments". * FROM "comments"WHERE visible ').'.where ('comments.visible ', false)'를 실행하는 것과 같은 쿼리입니다. 이것은 당신이 기대하는 바가 아니기 때문입니다. – MrTheWalrus
또한 같은 가이드가 언제 열심히로드 된 테이블에 대한 조건에 대해 토론하고 "하지마"라고 말하면 동의합니다. 협회에서 조건을 사용하려면 협회에 가입하십시오. – MrTheWalrus