2010-02-27 9 views
5

पर गहरे लाल रंग का में कुछ नियंत्रकों के लिए लेआउट निर्दिष्ट करें ऐसा नहीं है कि मैं नियंत्रक फ़ाइल मेंरेल

layout 'mylayout' 

रख कर एक नियंत्रक के लिए एक लेआउट निर्दिष्ट कर सकते हैं मेरी समझ में है। मैं आगे समझता हूं कि मैं कुछ क्रियाएं निर्दिष्ट कर सकता हूं कि :only औरके साथ लेआउट का उपयोग किया जाएगा: लेआउट 'mylayout', केवल => [: अनुक्रमणिका,: नया] या लेआउट 'mylayout', को छोड़कर => [: सूचकांक: नई]

क्या मैं सोच रहा हूँ, कर सकते हैं मैं अपने आवेदन नियंत्रक में layout 'mylayout' रख दिया और उस :only_controller और :except_controller की तरह कुछ के साथ केवल कुछ नियंत्रकों के लिए प्रदान की जा करने के लिए निर्दिष्ट है, या मैं स्पष्ट करना पड़ता है प्रत्येक नियंत्रक में layout 'mylayout' मैं इसे प्रस्तुत करना चाहता हूं?

इसका कारण यह है कि मेरे पास कुछ साइट नियंत्रक हैं जो मेरी साइट के व्यवस्थापक अनुभाग के प्रभारी हैं, और मैं उनके लिए एक अलग लेआउट रखना चाहता हूं।

उत्तर

2

क्या व्यवस्थापक नियंत्रक AdminController से प्राप्त करते हैं और admin.html.erb लेआउट बनाते हैं। इस तरह आपके व्यवस्थापक अनुभाग के सभी नियंत्रकों के पास यह लेआउट होगा।

+0

लेकिन मुझे वास्तविक भौतिक व्यवस्थापक नियंत्रक की आवश्यकता नहीं है - यह अस्तित्व में नहीं है। अगर मैं इसे बनाता हूं - क्या इसे डेटाबेस बैकएंड रखना होगा? –

+0

डेटाबेस के साथ कोई भी तरीका नियंत्रक जुड़े नहीं हैं :) इसके बारे में सोचें कि आपके व्यवस्थापक नियंत्रकों के लिए एक सार आधार वर्ग के रूप में। यह चीजों को स्पष्ट भी बना देगा, क्योंकि जब आप 'AdminController' से विरासत में प्राप्त नियंत्रक को देखते हैं तो आपको एक बार पता चल जाएगा कि यह व्यवस्थापक अनुभाग से नियंत्रक है। साथ ही, यह अच्छी तरह से हो सकता है कि आपको कुछ सामान्य 'पहले_फिल्टर' की आवश्यकता होगी, और बेस क्लास उनके लिए एक आदर्श जगह बनायेगा। –

+0

बहुत बहुत धन्यवाद! –