Стойка:: сессия:: пул с Sinatra

У меня есть веб-приложение Sinatra, я создал использование enable :sessions где я получаю доступ к своим данным сессии с session[:mything].

Я теперь хочу хранить данные на стороне сервера (т.е. с основанными на базе данных сессиями), и я не могу выяснить, как использовать Rack::Session::Pool, который, кажется, вещь, я должен использовать.

Как я иду о преобразовании моего веб-приложения для использования с Пулом?

Я знаю, что должен добавить строку

use Rack::Session::Pool

что прибывает затем? — заранее спасибо!

Править: Вот пример с помощью основанных на cookie сессий:

require 'rubygems'
require 'sinatra'

enable :sessions

get '/' do
  session.merge!(params)
  session.inspect
end

Посещение /?hi=there затем посещение / и Вы будете все еще видеть {'hi'=>'there'}, поскольку это было сохранено в cookie.

9
задан John Topley 15 February 2015 в 10:42
поделиться

1 ответ

Просто замените строку enable: sessions на , используйте Rack :: Session :: Pool . Все, что делает enable: session , - это добавление Rack :: Session :: Cookie в стек (чего вы хотите избежать). Помощник сеанса по-прежнему будет работать.

12
ответ дан 4 December 2019 в 19:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: