2009-06-06 13 views
5

Sinatra'yı araştırıyorum ve oturumları kullanmak istiyorum ama onların bir Cookie'de saklanmasını istemiyorum, Rack :: Session :: Pool'u çok işe yaradım. iyi.Rack :: Session :: Pool kullanarak Sinatra

Şimdi oturumların belirli bir süre sonra sona ermesini istiyorum ancak Rack :: Session :: Pool'u nasıl anlayacağımı anlamıyorum ve bunları Sinatra'da kullanıyorlar.

Herhangi bir İpucu? senin rackup dosyasında

+1

Ancak, ['Rack :: Session :: Pool'] (http://rack.rubyforge.org/doc/classes/Rack/Session/Pool.html) çerezleri kullanmıyor mu? – ma11hew28

cevap

4

:

%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 

Bu oturumda havuzunda başvurunuzu sarın ve işlevselliğini sağlamak gerektiğini vb koşmak rackup app.ru başlatmak veya yolcu kullanın. Pek çok diğer ara yazılımda olduğu gibi neden 'un kullanılmasına gerek olmadığını tamamen bilmiyorum.

Bunu hiç test etmediğimi anlayın, henüz seans havuzlarına ihtiyaç duymayan bir şeyim olmadı. Bunu, sayfanın üst kısmında örnek olan Rack :: Session :: Pool için documentation'dan yazdım. Yani, ben de nasıl kullanacağımı tam olarak anlatamam.

9

Sinatra oldukça güçlüdür Wicked Flea gelen hile işe yaramadı ama bu yaptı:

use Rack::Session::Pool, :domain => 'example.com', :expire_after => 60 * 60 * 24 * 365 

Teşekkür!

İlgili konular