2014-12-03 2 views
0

프로젝트에서 콘솔 스타일 응용 프로그램이며 영구 개체에 전혀 액세스 할 수 없습니다. 모든 모델은 Hashie::Mash까지 확장되는 임시 객체이며 다양한 API 호출에 대한 액세스를 통해 즉석에서 채워집니다.영구 객체를 참조하지 않고 Rails의 Fragment Caching을 사용할 수 있습니까?

나는 Rails fragment caching을 찾고 있는데, 그 예는 조각 캐싱 메커니즘이 모델이 지속적이어야한다는 것을 의미합니다.

영구 모델을 가정하지 않는 조각 캐싱의 예를 찾고 있습니다.

답변

1

예, 레일스 조각 캐싱은 오래된 임의의 것을 캐시 할 수 있습니다. 키를 지정하기 만하면됩니다. 예를 들어, 문서에서이 예 :

<% cache('all_available_products') do %> 
    All available products: 
<% end %> 

당신이로 실행하는 문제는 레일로 이것이 관여 된만큼 내부의 데이터를 정적 때문에 지능적으로 캐쉬를 체포하지 않을 영원히 지속될 것입니다 . 그리고, 다시 문서에서 수동으로 캐시를 체포해야 할 것 :

expire_fragment('all_available_products') 

지금, 당신의 문제에 대한 정확한 해결책이 종류의 사용 사례에 따라 달라집니다. 아마도 API 호출 응답이나 다른 것과 다른 점이 있다면 캐시를 깨뜨릴 수 있습니다. 그러나 귀하의 질문에 답하기 위해, 그렇습니다. 영구 모델이 없어도 사용할 수 있습니다.

관련 문제