使用Rack :: Session :: Datamapper

arb*_*les 3 ruby session rack datamapper sinatra

mkristgan的rack_datamapper gem说它"可以被包装用于特定的环境,即Rack :: Session :: Datamapper".

不幸的是,我还不太了解Ruby来完成这项任务 - Ruby中的模块/类仍然在我的头上(来自PHP).

任何人都可以使用rack_datamapper来实现Rack :: Session :: Datamapper吗?

你可能不想这样做.

下面的答案很好,但经过仔细考虑,我意识到我不应该这样做.相反,我将user_id,ip和名字(为方便起见)放在cookie中并保护它.

phi*_*kov 5

这个宝石应该有帮助:

在Sinatra中添加:

use Rack::Session::Moneta,
   store: Moneta.new(:DataMapper, setup: (ENV['DATABASE_URL'] || "sqlite://#{Dir.pwd}/development.db"))
Run Code Online (Sandbox Code Playgroud)

并随意使用session[]对象.

  • 是的,这是好事,直到有人试图检测其他人的user_id并在其他会话中进行调查.谨防! (2认同)