Как заставить этот сеанс загружаться?

Я работаю над приложением, которое должно использовать информацию идентификатора сеанса. Моя сессия хранится в куки. У меня проблема в том, что мой сеанс не сразу доступен контроллеру, когда пользователь впервые заходит на сайт. Я думаю, что я могу что-то упустить из-за того, как сеансы инициализируются в 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="}

Ответы на вопрос(4)

Ваш ответ на вопрос