मैं रेल 3 पर रूबी का उपयोग कर रहा हूं और मैं बाद में नियंत्रकों में एक परिवर्तनीय @variable_name
सुलभ सेट करने के लिए मध्यवर्ती उपयोग करने का प्रयास कर रहा हूं।एक मिडलवेयर में कैसे सेट करें मेरे सभी एप्लिकेशन में एक परिवर्तनीय सुलभ?
उदाहरण के लिए मेरी मिडलवेयर
class Auth
def initialize(app)
@app = app
end
def call(env)
@account ||= Account.find(1)
@app.call(env)
end
end
ऊपर ठीक से सेट @account
चर कोड है, लेकिन यह नहीं (, नियंत्रक, मॉडल, विचारों में ...) अपने आवेदन में उपलब्ध है। तो, मैं इसे कैसे पूरा कर सकता हूं?
मैं this answer कि मैं क्या जरूरत है ऐसा करने के लिए एक रास्ता है देखा है, लेकिन मैं @account
चर "सीधे पहुँचा जा सकता है" करना चाहते हैं। यही कारण है, उपयोग के बिना इस तरह से है, लेकिन है कि उपलब्ध है, मेरे विचार में, बनाने उदाहरण के लिए इस तरह:
<%= debug @account %>
मुझे नहीं लगता कि यह मिडलवेयर में किया जा सकता है। क्या आपने 'applicationController' में' pre_filter: set_my_var' के साथ इसे आजमाया था? – Wukerplank
@Wukerplank मुझे इसे एक मिडलवेयर में चाहिए। – user502052
आप कुछ थ्रेड और संभावित हानिकारक कोशिश कर सकते हैं जैसे इसे 'थ्रेड.current [: my_var] = account.find (1) 'में संग्रहीत करना। – Wukerplank