조각 캐싱과 열정적 인로드는 적어도 때로는 다소 차이가 있습니다. 많은 의견을 갖고있는 많은 게시물을 가지고있는 사용자가 있으며, 많은 의견을 갖고 있으며 많은 의견을 가질 수 있다고 가정 해 봅시다.조각 캐싱 및 열망 로딩 : 두 가지 장점을 모두 얻는 방법?
페이지를 렌더링해야 할 때 데이터베이스를 n-1 번 누르는 것을 피하기 위해 사용자, 모든 게시물, 모든 댓글 등을 열망 할 수 있습니다. 또는 각 개체를 느리게로드하고 조각 캐시에 의존하여 데이터베이스가 새로 추가되었거나 변경된 개체 만 쿼리 할 수있었습니다. 조각 캐싱과 열망하는로드를 모두 사용하는 것은 낭비입니다. 잠재적으로 매우 복잡한 쿼리를 수행하고 작은 개체 만 사용하여 많은 개체를 인스턴스화합니다.
하지만 사용자가 여러 바가 많고 차례로 바뀌는 응용 프로그램이있는 경우 각 Foo가 모든 바 및 관련 객체와 동시에 동시에 작성되는 응용 프로그램이있는 경우에는 어떻게해야합니까? 다음은 절대로 변경되지 않습니다. 이 경우 렌더링 된 Foos에 대해 조각 캐싱을 사용하고 싶지만 모든 관련 개체가있는 새 Foo를로드해야하는 경우 열심히로드하는 것이 좋습니다. 결국 세분화 된 수준에서 조각을 캐싱하면 얻을 수있는 것이 없습니다.
이것을 수행하는 가장 좋은 방법은 무엇입니까? Foo의 ID를 얻기 위해 하나의 쿼리를 수행 한 다음 각 Foo를 렌더링해야 할 때 열심히로드하여 명시 적으로 찾을 수 있다고 가정합니다. 이것을하는 더 나은/더 우아하고/관용적 인 방법이 있습니까?
fragment_exists에 액세스하려고 시도 할 때 나타납니다. *** NoMethodError Exception : 정의되지 않은 메소드 \'fragment_exists? ' for # ' –
아, 그것은 복수화하지 않고'fragment_exist?'를 원하는 것처럼 보입니다. –