0
를 방문 할 수 없습니다. 내 프로젝트에 훨씬 더 복잡한 쿼리를레일 3, 나는 <code>:except_ids</code> 범위와 사용자 모델을 Arel :: SelectManager
User.except_ids(User.except_ids(1,2))
내가
TypeError: Cannot visit Arel::SelectManager
으로 끝낼하지만, 모든 작동합니다 - 그 범위를 제외하고는 예를 들어, 나는 이런 식으로 뭔가를 호출하는 경우. 범위를 실제 코드로 바꾸면 작동시킬 수 있지만 냄새가납니다.
그래서 이것을 찾으려면 어떤 방법이 있습니까?
음, 사실, map (& : id)은 대괄호 안에 관계에 대한 결과를로드합니다. 모든 나의 조작의 요점은 하나의 거대한 쿼리를 생성하는 것입니다. –
제 답변을 업데이트했습니다.보세요. – mxgrn
이중 쿼리 솔루션의 효율성을 높이려면'User.except_ids (User.except_ids (1,2) .pluck ('id'))'대신 map : pluck을 사용하십시오. 이것은'SELECT *'보다는 오히려'SELECT id'를 생성하고, id 만있는 배열로 리턴합니다. – zykadelic