Попробуйте вместо этого:
require 'sinatra'
require 'rack/fiber_pool'
class SessionTest < Sinatra::Base
enable :sessions
set :session_secret, "foobar"
get '/' do
body { session.inspect } #This is always '{}'!
end
get '/a' do
session['user'] = "bob"
redirect '/'
end
end
use Rack::FiberPool
run SessionTest.new
В противном случае Sinatra настроит пул волокон после промежуточного программного обеспечения сеанса, которое не работает. Это не ошибка, но вызвана тем, как Rack::FiberPool
работает.