2011-06-14 2 views
0

나는 웹상의 다양한 게시물을 둘러 보았다. 하지만 그것은 정적 .html 파일에만있는 것처럼 보입니다. Mephisto와 rack-offline은 유용 할 수 있지만, sinatra 템플릿을 도울 수 있는지는 알 수 없습니다.cache.manifest를 사용하여 Sinatra .erb 템플릿을 오프라인 용으로 구성 할 수 있습니까?

내 views/index.erb에는 html 출력을 저장하는 3 개의 get do -/part1,/part2,/part3이 있습니다. 오프라인으로 캐싱 될 수 있다면 좋을 것입니다. 어떤 포인터?

답변

0

최선을 다해 답변 드리겠습니다. "내 views/index.erb에 3 개의 get do가 있습니다"라고 말하면 애플리케이션에 3 개의 경로가 있음을 의미합니다 (/part1, /part2/part3). 이 세 경로는 ERB 템플릿을 사용하여 처리되고 HTML을 반환합니다. 이제 오프라인 사용을 위해 캐시 매니페스트에 저장하려고합니다.

우선 : 클라이언트의 경우 URL 뒤에있는 리소스가 동적으로 생성되는지 아니면 정적 파일인지 여부는 중요하지 않습니다. part1 (누락 된 슬래시가 있음)을 매니페스트에 넣고 완료하면됩니다.

클라이언트가 /part1을 한 번만 요청한 다음 매니페스트를 업데이트 할 때까지 캐시 된 버전을 사용하는 것이 효과적입니다.

다음은 catch입니다. ERB 템플릿을 처리하는 경우 분명히 응답에서 동적 인 부분을 갖게됩니다. 그래서 그 이유가 무엇입니까 응답을 캐시하려는 이유가 없습니다.

나를 잘못하지 마십시오. 왜 그렇게하고 싶은지에 대한 완벽한 이유가있을 수 있습니다. 동적 경로에 경로를 캐시 매니페스트에 넣을 수없는 이유는 없습니다.

+0

대단한 답변을 보내 주셔서 감사합니다. 비록 당신이 가정 한 것처럼 동적인데, 이것은 주로 모바일 용이므로 빈 페이지가 아닌 약간의 내용을 제공하고 싶습니다. 내가 정말로 원하는 것은 캐시 할 수있는 것, 그리고 내용이 변경되면 업데이트하는 것입니다. – ritchielee

관련 문제