나는 calculate 필드가있는 model saya 모델을 가지고 있습니다. 아래처럼많은 인스턴스에서 동일한 활성 레코드 데이터 집합
class modelA < ActiveRecord::Base
attr_accessor : calc_field
def calc_field
@stuff = modelb.all
//do fancy things with stuff
end
end
내 문제는 내가 modelA의 100 개의 기록이 있다면입니다. modelb.all은 100 회 호출됩니다. 매번 같은 데이터 세트를 사용합니다. 하지만 쿼리는 100 번 보내집니다.
어쨌든/어디서나 @stuff를 전역 적으로 선언 할 수 있으므로 modelA의 모든 인스턴스에서 공유됩니다. 그래서 그것은 한 번만 호출됩니다.