use Rack::Session::Pool
...
session[:msg]="Hello Rack"
编辑:单词会话似乎没有解决。我在我的config.ru中包含了Session pool中间件,并尝试在ERB文件中设置一个变量(我正在使用Ruby Serve)并且它抱怨“未定义的局部变量或方法`session'”
谢谢!
答案 0 :(得分:29)
session
是一种方法,是某些Web框架的一部分,例如Sinatra和Rails都有session
方法。普通rack
应用程序没有session
方法,除非您自己添加。{/ p>
会话哈希存储在密钥rack.session
下的机架env哈希中,因此您可以像这样访问它(假设您已将机架环境命名为您的应用env
):
env['rack.session'][:msg]="Hello Rack"
或者,您可以使用Rack内置的request
object,如下所示:
request = Rack::Request.new(env)
request.session[:msg]="Hello Rack"
答案 1 :(得分:0)
你需要加载rack::session
模块下一个可能就像这里的cookie一样
http://rack.rubyforge.org/doc/classes/Rack/Session/Cookie.html
这就像用例子解释一样。