У меня есть действие контроллера, которое обрабатывает запросы JSON в основном для обработки перерисовки сетки данных. Но у меня есть этот before_filter, который проверяет, был ли сеанс уничтожен и должен перенаправить обратно на выход из системы. Когда запрос является ajax-запросом, перенаправление происходит нормально. Но если запрос в формате JSON, в журналах отображается «Цепочка фильтров остановлена как: авторизация визуализирована или перенаправлена», но не перенаправляет страницу вообще. Любые подсказки?
Я вижу, что журналы показывают, что он обрабатывает действие как JSON:
Processing by UserController#datatable_redrawings as JSON
Мой метод Contoller:
before_filter :auth
def auth
if session[:username].blank?
flash[:error] = "Please login."
if request.xhr?
render :js => "window.location = '/logout'"
else
respond_to do |format|
format.html { redirect_to :action => "logout" }
end
end
end
end