Я пытаюсь сделать несколько вызовов Ajax на контроллер, который отвечает JSON.
if session[:user]
render :json => "Some Data"
else
render :json => "You are not logged in"
end
В первый раз, когда это действие вызывается авторизованным пользователем, все в порядке, а session[:user]
равно != nil
.
Во второй раз это называется nil
!
Так что похоже, что rails теряет сессию, как только я render :json
. Я понял, что при первом вызове рельсы заменяют *_session
-дерево новым. Как следствие этого рельсы не знают о начальном сеансе аутентификации.
Если я не отображаю ответ как JSON, все работает нормально.
Как заставить rails устанавливать тот же идентификатор сеанса на страницах, отображаемых в формате JSON, что и в обычных представлениях?