2011-03-15 8 views
5

मेरे पास एक प्रोजेक्ट है जो एप्लिकेशन के लिए स्थिर पृष्ठों और रेल के लिए सिनात्रा का उपयोग करता है।क्या रेल से सिनात्रा तक एक फ्लैश संदेश पास करना संभव है?

मैं अनुरोध एक हिट करने के लिए अनुमति देते हैं या config.ru में ऐसा करने से अन्य:

run Rack::Cascade.new([ 
    EightyEightTactical::Root, 
    EightyEightTactical::Application 
]) 

कहाँ EightyEightTactical::RootSinatra::Base और EightyEightTactical::Application का एक उपवर्ग है Rails::Application का एक उपवर्ग है।

मैं एक मुश्किल स्थिति में हूं जहां मुझे रेल नियंत्रक में एक फ्लैश संदेश सेट करने और इसे सिनात्रा लेआउट में प्रदर्शित करने की आवश्यकता है।

मुझे पता है कि रेल ActionDispatch::Flash मिडलवेयर में उपयोग करता है, लेकिन मुझे लगता है कि रेल ऐप के बाहर फ्लैश संदेशों को कैसे पहुंचाया जा सकता है। क्या मैं गलत हूं, या यह किया जा सकता है?

उत्तर

3

मान लें कि आप एक कुकी सत्र की दुकान का उपयोग कर रहे हैं, तो आप निम्न कर सकते हैं:

1) नाम config/initializers/session_store.rb में निर्दिष्ट के साथ सत्र कुकी को एक्सेस करें।

2) सत्र कुकी डिक्रिप्ट सत्र हैश

3) कुंजी flash जो एक हैश बुलाया पहुंच पाने के लिए।

4) फ्लैश संदेश Iterate और प्रदर्शित करें।

आपको अधिक जानकारी के लिए ActionController::Session::CookieStore कक्षा पर देखना चाहिए।

+1

[यहां कोड है] (https://gist.github.com/873195) रुचि रखने वाले किसी और के लिए। –

+0

मैं संदर्भ के लिए आपके जैसा कोड नमूना प्रदान करना चाहता था, लेकिन आलसी हो गया :-)। –

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