2009-06-06 13 views
5

मैं सिनात्रा की खोज कर रहा हूं और मैं सत्रों का उपयोग करना चाहता हूं लेकिन मैं नहीं चाहता कि उन्हें कुकी में संग्रहीत किया जाए, मुझे रैक :: सत्र :: पूल मिल गया जो बहुत काम करता है कुंआ।रैक का उपयोग :: सत्र :: सिनात्रा के साथ पूल

अब मैं एक निश्चित अवधि के बाद सत्र समाप्त होने की इच्छा करता हूं लेकिन मुझे समझ में नहीं आता कि रैक :: सत्र :: पूल को कैसे निकाला जाए और उन्हें सिनात्रा में इसका उपयोग कैसे करें।

कोई सुराग?

+1

लेकिन, [रैक :: सत्र :: पूल'] नहीं है (http://rack.rubyforge.org/doc/classes/Rack/Session/Pool.html) कुकीज़ का उपयोग करते हैं? – ma11hew28

उत्तर

4

अपने 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 से लिखा था, जिसमें पृष्ठ के शीर्ष पर एक उदाहरण था। इसलिए, मैं आपको बिल्कुल नहीं बता सकता कि इसका उपयोग कैसे किया जाए।

9

सिनात्रा काफी शक्तिशाली है, दुष्ट पिस्सू से चाल काम नहीं किया है, लेकिन ऐसा किया:

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

धन्यवाद!

संबंधित मुद्दे