रेल में, मैं control_name को कॉल करके वर्तमान नियंत्रक का नाम नियंत्रक_नाम और वर्तमान क्रिया का नाम प्राप्त कर सकता हूं। मैं निम्नलिखित लाने के लिए समान रनटाइम प्रतिबिंब की तलाश में हूं:रेल पर रूबी में नियंत्रकों और कार्यों की सूची कैसे प्राप्त करें?
- एप्लिकेशन में सभी नियंत्रकों की सूची।
- किसी दिए गए नियंत्रक में सभी कार्यों की सूची।
उदाहरण के लिए, मैं एक उत्पाद नियंत्रक जिसमें "जोड़" और "संपादन" क्रियाएं हैं। क्या मैं उपयोगकर्ता को यह दिखाने के लिए प्रोग्रामिंग रूप से इन कार्यों के नाम खींच सकता हूं कि कौन से संचालन समर्थित हैं?
मैंने एक विधि को देखा है जो ActionController::Routing::Routes.named_routes.routes.each
के उपयोग के लिए कॉल करता है लेकिन मैं इसे काम नहीं कर सका। जब मैंने इसका इस्तेमाल किया तो मुझे निरंतर स्थिर ActionDispatch::Routing::Routes
त्रुटि मिली।
यदि कोई अच्छा ट्यूटोरियल या दस्तावेज़ है जो मुझे समझने में मदद कर सकता है कि रेल प्रतिबिंब क्षमताओं कैसे हैं। मैंने इसकी खोज की लेकिन मुझे ज्यादातर सक्रिय रिकॉर्ड प्रतिबिंब संबंधित ब्लॉग मिल गए। मैं ऐसा कुछ ढूंढ रहा हूं जो मुझे रन टाइम पर नियंत्रकों और कार्यों/विधियों पर जानकारी प्राप्त करने देता है।
धन्यवाद,
तबरेज
क्या आप इसे रन-टाइम या रेक जॉब में कर रहे हैं। रन-टाइम एक बुरा विचार है। रेक काम करना आसान है। – drhenner
क्या आपका मतलब "रेक मार्ग" था? मैं रन टाइम पर कुछ ढूंढ रहा था। मुझे व्यापक जानकारी की आवश्यकता नहीं है जो राउट मार्गों को आउटपुट करता है। मुझे केवल नियंत्रक नामों की आवश्यकता है, जो मुझे लगता है कि संग्रह के रूप में उपलब्ध होना चाहिए। रेल के लिए नोब होने के नाते, मुझे नहीं पता कि रनटाइम पर रेल में संदर्भ वस्तुएं क्या पहुंच योग्य हैं। – Tabrez
यहां एक ही प्रश्न मिला, http://stackoverflow.com/questions/1564278/how-to-programmatically-list-all-controllers-in-rails – nkm