Использование Rack::Session::Datamapper
-
21-09-2019 - |
Вопрос
мкристган rack_datamapper gem говорит, что он "может быть обернут для использования в определенной среде, т. е.Стойка::Сессия::Datamapper".
К сожалению, я пока недостаточно знаю о Ruby, чтобы выполнить эту задачу – модули / классы в Ruby все еще выше моей головы (исходят из PHP).
Кто-нибудь может предложить помощь с использованием rack_datamapper для реализации Rack::Session::Datamapper?
Вы, вероятно, все равно не хотите этого делать.
Приведенный ниже ответ великолепен, но при ближайшем рассмотрении я понял, что мне все равно не следует этого делать.Вместо этого я помещаю идентификатор пользователя, ip и имя (для удобства) в файл cookie и защищаю его.
Решение
Этот драгоценный камень должно помочь:
В Синатре просто добавьте:
use Rack::Session::Moneta,
store: Moneta.new(:DataMapper, setup: (ENV['DATABASE_URL'] || "sqlite://#{Dir.pwd}/development.db"))
и использовать session[]
возражайте по своему желанию.