ruby – 如何在Rack应用程序中设置/获取会话变量?

前端之家收集整理的这篇文章主要介绍了ruby – 如何在Rack应用程序中设置/获取会话变量?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
use Rack::Session::Pool
...
session[:msg]="Hello Rack"

编辑:单词会话似乎没有解决.我在我的config.ru中包含了会话池中间件,并尝试在ERB文件中设置一个变量(我正在使用Ruby Serve),并且它引发了“未定义的局部变量或方法”会话“”

谢谢!

解决方法

会话是一些Web框架的一部分,例如 SinatraRails都有会话方法.平面机架应用程序没有会话方法,除非您自己添加.

会话哈希存储在关键rack.session下的机架env哈希中,因此您可以像这样访问(假设您已将应用程序环境命名为机架环境):

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

或者,您可以使用Rack的内建request object,如下所示:

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

猜你在找的Ruby相关文章