Как заставить этот сеанс загружаться?
Я работаю над приложением, которое должно использовать информацию идентификатора сеанса. Моя сессия хранится в куки. У меня проблема в том, что мой сеанс не сразу доступен контроллеру, когда пользователь впервые заходит на сайт. Я думаю, что я могу что-то упустить из-за того, как сеансы инициализируются в Rails. Но я'm положительно о том, что сеанс не загружен, потому что это вывод:session.inspect
#
Вот как воспроизвести проблему сRails 3.2.11
а также :ruby 1.9.3
Создайте новое приложение сtest
контроллер:
rails new my_app
cd my_app/
rails g controller test
rm app/assets/javascripts/test.js.coffee
touch app/views/test/index.html.erb
Попробуйте получить идентификатор сеанса в этом контроллере:
class TestController < ApplicationController
def index
puts session[:session_id]
puts session.inspect
end
end
Добавьте необходимые маршруты:
MyApp::Application.routes.draw do
resources :test
end
Затем зайдите в приложение и посмотрите, что оно делает:
rails server
должен:http://localhost:3000/test
Это вывод в консоли:
#
Тогда сноваhttp://localhost:3000/test
и на этот раз у нас есть сессия:
400706c0b3d95a5a1e56521e455075ac
{"session_id"=>"400706c0b3d95a5a1e56521e455075ac", "_csrf_token"=>"Euaign8Ptpj/o/8/ucBFMgxGtiH7goKxkxeGctumyGQ="}