Подтвердить что ты не робот

Как установить/получить сеансовые вары в приложении Rack?

use Rack::Session::Pool
...
session[:msg]="Hello Rack"

ИЗМЕНИТЬ: сеанс слова, похоже, не разрешен. Я включил промежуточное программное обеспечение пула сеансов в свой config.ru и попытался установить переменную в файле ERB (я использую Ruby Serve), и он жалуется на "undefined локальную переменную или метод` session '"

Спасибо!

4b9b3361

Ответ 1

session - это метод, который является частью некоторых веб-фреймворков, например Sinatra и Rails оба имеют методы session. Обычные приложения rack не имеют метода session, если вы не добавите его самостоятельно.

Хэш сеанса хранится в хеш файле env под ключом rack.session, поэтому вы можете получить доступ к нему следующим образом (предполагая, что вы назвали среду стойки для вашего приложения env):

env['rack.session'][:msg]="Hello Rack"

В качестве альтернативы вы можете использовать Стойки, созданные в request объекте, например:

request = Rack::Request.new(env)
request.session[:msg]="Hello Rack"