En utilisant rack :: Session :: DataMapper
-
21-09-2019 - |
Question
mkristgan joyau de rack_datamapper dit qu'il « peut être enroulé pour être utilisé dans un environement spécifique, à savoir rack :: session :: DataMapper ».
Malheureusement, je ne sais pas tout à fait assez sur Ruby pour accomplir cette tâche encore -modules / classes en Ruby sont toujours au-dessus de ma tête (en venant de PHP).
Quelqu'un peut-il offrir une aide à l'utilisation rack_datamapper pour mettre en œuvre rack :: Session :: DataMapper?
Vous ne voulez probablement pas faire cela de toute façon.
La réponse ci-dessous est grande, mais à un examen plus approfondi, je compris que je ne devrais pas le faire de toute façon. Au lieu de cela, je place le user_id, ip et prénom (pour plus de commodité) dans un cookie et de le protéger.
La solution
Ce petit bijou devrait aider:
Dans Sinatra il suffit d'ajouter:
use Rack::Session::Moneta,
store: Moneta.new(:DataMapper, setup: (ENV['DATABASE_URL'] || "sqlite://#{Dir.pwd}/development.db"))
et utiliser l'objet session[]
à volonté.