2014-10-25 2 views
1

저는 학교 프로젝트 작업의 일환으로 응용 프로그램을 개발하고 있습니다. 로그 아웃 후에도 이전에 캐시 된 페이지가 표시 될 때까지 브라우저의 뒤로 버튼이 표시 될 때까지 모든 것이 잘 진행되었습니다. 코드 아래에서 발견하여 이것이 도움이 될 것이라고 생각했습니다.레일 4에서 브라우저 페이지 캐싱 방지

before_filter :set_cache_buster 

def set_cache_buster 
    response.headers["Cache-Control"] = "no-cache, no-store, max-age=0, must-revalidate" 
    response.headers["Pragma"] = "no-cache" 
    response.headers["Expires"] = "Fri, 01 Jan 1990 00:00:00 GMT" 
end 

이 코드를 내 응용 프로그램 컨트롤러에 추가했습니다. 이 후에도 브라우저 백 버튼을 클릭하여 캐시 된 페이지를 볼 수 있습니다.

일부 사용자가 브라우저 캐싱을 사용하지 않도록 설정해야 하는지를 알면 큰 도움이됩니다.

+0

해당 환경 rb 파일에서 해제 할 수 있습니다. config.action_controller.perform_caching = true, 캐싱을 사용하지 않으려면이 행을 false로 만듭니다. – abhidsm

+0

@abhidsm 이미 해봤습니다. 그것을 할 수있는 다른 방법이 있습니까? –

답변

4

레일 캐시에 시간을 보낸 후 turbolinks 보석이 나를 위해 문제를 일으키는 것으로 나타났습니다. 그래서 application_controller.rb에 위의 코드를 추가 한 후에, 나는 다음 ....

gem 'turbolinks'application.js

에서 Gemfile에서와

//= require turbolinks이 해결 내 문제를 제거했습니다. 그것이 나와 같은 초보자에게 도움이되기를 바랍니다.

+0

이 솔루션 맨을 게시 주셔서 감사합니다. 이 문제가 해결되었습니다. 하나님 감사합니다 !! – LewlSauce