Rails Render JSON - Session Lost?

я пытаюсь сделать несколько вызовов Ajax контроллеру, который отвечает JSON.

if session[:user]
  render :json => "Some Data"
else
  render :json => "You are not logged in"
end

При первом вызове этого действия авторизованным пользователем все в порядке, и сеанс [: user] равен ! = Nil . Во второй раз он вызывается nil !

Похоже, что rails теряет сеанс, как только я выполняю render: json . Я выяснил, что в первом вызове rails заменяет * _ session -cookie новым. Как следствие этого, rails не знает о начальном, авторизованном сеансе.

Если я не отображу ответ как JSON, все работает нормально.

Как заставить rails установить тот же идентификатор сеанса на страницах, обработанных JSON, что и в обычных представлениях?

5
задан gorootde 14 December 2011 в 21:10
поделиться