2009-12-16 5 views
4

이미지 자르기 기능을 만들었습니다. 이미지를 클릭하고 잘라내어 새 자른 이미지를 이전 이미지에 저장 한 다음 이미지가 표시된 원래 페이지로 다시 리디렉션합니다.이미지를 Rails와 브라우저에서 캐싱하지 않으시겠습니까?

그러나 리디렉션 후에도 이전 이미지가 표시되고 페이지를 새로 고칠 때까지 새 이미지가 표시되지 않습니다.

나는 이미지 태그를 사용하고 이미지 다음에 자산 타임 스탬프를 제거하려고했지만 여전히 이전 이미지를 표시하고 브라우저 캐싱을 중지하지만 작동하지 않도록 메타 태그를 추가하려고 시도했습니다.

새로 고침 페이지를 수행하지 않고 어떻게 해결할 수 있습니까?

답변

5

그것은 아마도 가장 좋은 방법은 아니지만, 단순히 자바 스크립트를 사용하여 이미지의 URL에 타임 스탬프를 추가하여 과거에이 문제를 해결했습니다이로드

http://www.mysite.com/img/some_image.jpg?timestamp=12342312412 

다음 시간, 타임 스탬프로 설정을 현재 시간과 URL이 다르므로 브라우저는 캐시 된 버전을 사용하는 대신 이미지에 대해 GET을 수행합니다.

+0

안녕 kaleb 덕분에, 당신은 모든 이미지를 통해 단지 루프를 의미하고, 그래서 현재 날짜를 얻을 끝에 추가? 건배 –

+0

그래, 그게 내가 한거야 (http://brasee.com/games/lobby.htm의 체스 보드 미리보기 이미지에서). 10 초마다 jQuery를 사용하여 보드 이미지의 URL을 업데이트하고 URL이 다르므로 캐시를 사용하지 않고 브라우저가 이미지를 요청합니다. –

+0

괜찮아 질 것입니다. –

2

보기에서 레일 이미지 도우미 태그 인 image_tag를 사용하고 있습니까?

Rails는 이미지 파일의 마지막 수정 날짜를 기반으로 타임 스탬프를 자동으로 추가합니다.이 타임 스탬프는 자르기를 수행하고 새 이미지를 쓸 때 변경해야하기 때문에 편리합니다. 워드 프로세서에서

추가 정보 : 빠른 응답을위한 http://api.rubyonrails.org/classes/ActionView/Helpers/AssetTagHelper.html

관련 문제