Sinatra 使用 Sessions
Session 被用来在请求之间保持状态。如果被激活,每一个用户会话 对应有一个 session 哈希:
enable :sessions
get '/' do
"value = " << session[:value].inspect
end
get '/:value' do
session[:value] = params[:value]
end
请注意 enable :sessions 实际上保存所有的数据在一个 cookie 之中。这可能不会总是做你想要的(比如,保存大量的数据会增加你的流量)。你可以使用任何的Rack session
中间件,为了这么做, 不要调用 enable :sessions,而是按照自己的需要引入你的中间件:
use Rack::Session::Pool, :expire_after => 2592000
get '/' do
"value = " << session[:value].inspect
end
get '/:value' do
session[:value] = params[:value]
end