use Rack::Session::Pool
...
session[:msg]="Hello Rack"
編輯:單詞會話似乎沒有解決。我包含會話池中間件在我的config.ru,並嘗試設置ERB文件中的變量(我使用Ruby服務),它抱怨「未定義的本地變量或方法`會話」如何在Rack應用程序中設置/獲取會話變量?
謝謝!
use Rack::Session::Pool
...
session[:msg]="Hello Rack"
編輯:單詞會話似乎沒有解決。我包含會話池中間件在我的config.ru,並嘗試設置ERB文件中的變量(我使用Ruby服務),它抱怨「未定義的本地變量或方法`會話」如何在Rack應用程序中設置/獲取會話變量?
謝謝!
session
是一種方法,是一些web框架的一部分,例如Sinatra和Rails都有session
方法。普通rack
應用程序沒有session
方法,除非您自己添加一個方法。
會話哈希值存儲在機架ENV散列下的關鍵rack.session
,這樣你就可以像這樣訪問它(假設你已經命名的機架環境到您的應用env
):
env['rack.session'][:msg]="Hello Rack"
另外,你可以使用機架內置的request
object,像這樣:
request = Rack::Request.new(env)
request.session[:msg]="Hello Rack"
您需要加載rack::session
模塊未來可能使用網站喜歡這裏 http://rack.rubyforge.org/doc/classes/Rack/Session/Cookie.html
這就像例子解釋它。
什麼並不完全工作?會話幫助程序根本沒有工作,或者僅僅是會話[:msg]沒有設置? session.inspect會給你什麼? – oliverbarnes