2014-09-26 4 views
0

Я встроил код no-cache в application_controller. Но он работает только в определенных случаях. Есть ли другое решение этой проблемы? как Facebook и Gmail удается решить эту проблему. Заранее спасибо!После выхода из моего приложения, если я нажму кнопку «Назад», я могу увидеть предыдущую страницу.

+0

Мы не имеем ни малейшего представления о том, как была реализована аутентификация. Вы должны предоставить более подробную информацию/код. – Webdevotion

+0

От взгляда на ваш код я думаю, что лучше всего взять книгу и начать все сначала. Ваш исходный код пронизан странными файлами, которые, по-видимому, являются результатом неправильного выполнения команд (связанных с рельсами). Мне сложно определить точную проблему, посмотрев исходный код, но я могу сказать вам, что вам нужно изучить структуру Ruby и Rails еще немного, прежде чем погрузиться. Не сдавайтесь. Начните здесь: http://guides.rubyonrails.org/getting_started.html. – Webdevotion

ответ

1

Ваш браузер кэширует страницы, пока вы запрашиваете какую-либо страницу. Вам необходимо запретить кеширование браузера. Поэтому вы можете сделать это так.

В вашем application_controller:

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 

Все заслуга в этом URL http://blog.serendeputy.com/posts/how-to-prevent-browsers-from-caching-a-page-in-rails/

+0

Я написал этот код в своем приложении application_controller.rb ... но он не работает для всех страниц ... есть ли другой альтернативный метод, например, обновлять, когда я нажимаю кнопку «Назад»? – CoDhEr

+0

Я не пробовал, но вы можете сделать это вот так. document.onHistoryGo = function() {location.reload(); return false; } –

Смежные вопросы