我正在探索Sinatra,我想使用會話,但我不希望它們存儲在Cookie中,我發現Rack :: Session :: Pool它非常有效好。使用Rack :: Session :: Pool與Sinatra
現在我希望會話在一段時間後過期,但我不明白如何實例化Rack :: Session :: Pool,並在Sinatra中使用它。
任何線索?
我正在探索Sinatra,我想使用會話,但我不希望它們存儲在Cookie中,我發現Rack :: Session :: Pool它非常有效好。使用Rack :: Session :: Pool與Sinatra
現在我希望會話在一段時間後過期,但我不明白如何實例化Rack :: Session :: Pool,並在Sinatra中使用它。
任何線索?
在你rackup文件:
%w(rubygems rack sinatra).each { |dependency| require dependency }
disable :run
require 'myapp'
sessioned = Rack::Session::Pool.new(
Sinatra::Application,
:domain => 'example.com',
:expire_after => 60 * 60 * 24 * 365 # expire after 1 year
)
run sessioned
要啓動運行rackup app.ru
,或使用汽車,等等。這應該來包裝你的應用程序中的會話,並啓用其功能。我不完全知道爲什麼它不需要使用像大多數其他中間件一樣。
瞭解我還沒有測試過,我還沒有需要會話池的東西呢。我從documentation爲Rack :: Session :: Pool寫了這個,它在頁面頂部有一個例子。所以,我無法告訴你如何使用它。
西納特拉是相當強大的,從邪惡的跳蚤的伎倆沒有工作,但這樣做的:
use Rack::Session::Pool, :domain => 'example.com', :expire_after => 60 * 60 * 24 * 365
謝謝!
但是,不[[Rack :: Session :: Pool]](http://rack.rubyforge.org/doc/classes/Rack/Session/Pool.html)使用cookies? – ma11hew28 2012-10-06 22:58:24