class User < ActiveRecord::Base
def self.all_users_count
User.all
end
end
User.all_users_count
반환, 예를 들어, 100
User.limit(5).all_users_count
지금은 를 반환 레일 코드에 대한 몇 가지 루비있다 5 때문에 ActiveRecord :: 관계 컨텍스트 때문에, 내가 wroute 이름에도 불구하고 클래스 대신 간단한 User.all
all
전 모델 방법 내부 상황에 독립적 인 AR 쿼리를 만들 수있는 방법, 그래서
(해당 쿼리가 항상 다른 경우 limit
또는 where id
또는 다른 일을 포함 보여 .to_sql)? User.all
님 외
감사합니다.
ps. 아니면 내 코드에이 같은 오류가 있거나 실제로 어떤 메서드 및 컨텍스트 내에서 User.all
이이 모델 테이블의 올바른 행 수를 반환해야합니다
** 예, 고맙습니다 ** ** "contex t "와"scope "와 다른 것 그리고 내 상황에 대해 아무것도 찾을 수 없습니다. 나는 비슷한 방법이 있다고 의심하지만, 구글을 위해이 문제를 공식화하는 것은 어렵다. 추신. 예, 동의합니다. 예상치 못한 동작이지만, 적어도 제 경우에는 – dmitryck
UPD입니다. 'unscoped'는 몇 가지 간단한 경우에 잘 작동하지만 쿼리가 더 크고 다른 메서드 (클로저 트리와 같은)의 모델에 많은 메서드가 적용되는 경우 - 요약 SQL 쿼리에 대한 몇 가지 추가 조건이며 시작 관계에 따라 달라집니다 ... 이상한 .. ok, 매우 감사합니다! – dmitryck
이것은 이상하고 혼란 스럽습니다. 제가 작업 할 레일 프로젝트가있을 때 이것을 확실히 조사 할 것입니다. – meta