При использовании Rails 3.0.3 в Passenger у нас возникает проблема, когда последний набор флэш-памяти сохраняется для каждого запроса.Например, мы устанавливаем флэш-сообщение, если пользователь должен войти в систему в фильтре before:
def require_user
unless current_user
store_location
flash[:notice] = "You must be logged in to access this page"
redirect_to login_url
return false
end
end
Однако при любом последующем запросе после успешного входа пользователя мы все равно получаем сохранение флэш-сообщения., он никогда не очищается для всего сеанса.
В этом примере это единственное место, где мы устанавливаем это сообщение, и я гарантировал, что оно устанавливается только тогда, когда пользователь не вошел в систему. На самом деле, если япоместите flash[:notice] = 'Test'
после обновления блока блока и затем удалите эту строку, и флэш-сообщение «Тест» останется для всех последующих запросов.
Это происходит, если вы запускаете приложение в среде разработки или рабочей среды.