2010-04-07 10 views
5

रेल एप्लिकेशन में प्रशासनिक क्षेत्र बनाने के लिए सामान्य प्रारूप/संरचना क्या है?रेल में बिल्डिंग एडमिन एरिया - सामान्य प्रश्न

  • आप स्थितियों में, जहां एक मॉडल के संसाधनों दोनों सार्वजनिक और व्यवस्थापक के लिए उपलब्ध हैं से कैसे निपटते हैं:

    विशेष रूप से मैं इन विषयों में से आसपास के क्षेत्र में स्टम्प्ड रहा हूँ? यानी कोई उपयोगकर्ता मॉडल जहां कोई भी उपयोगकर्ता, लॉगिन आदि बना सकता है, लेकिन केवल व्यवस्थापक ही उपयोगकर्ताओं को देख सकते हैं, उन्हें हटा सकते हैं/अपडेट कर सकते हैं, आदि

  • रूटिंग के लिए उचित सम्मेलन क्या है?
  • एक संरचना नियंत्रक कैसे करता है?
  • डुप्लिकेट नियंत्रकों को ठीक माना जाता है? यानी एक व्यवस्थापक संस्करण और गैर-व्यवस्थापक संस्करण?

धन्यवाद!

उत्तर

4

आप 2 नियंत्रकों, व्यवस्थापक के लिए सार्वजनिक भाग के लिए एक और अन्य है और व्यवस्थापक नेमस्पेसिंग उपयोग कर सकते हैं:

map.namespace(:admin, :path_prefix => 'settings', :name_prefix => 'admin_') do |admin| 
    admin.resources :users 
end 

यह /सेटिंग्स/उपयोगकर्ताओं करने के लिए नक्शे होगा और नियंत्रक होना चाहिए था Admin:: Admin::UsersController की तरह प्रीफ़िक्स्ड, नियंत्रक फ़ाइल को व्यवस्थापकऐप/नियंत्रक dir के तहत फ़ोल्डर में रखना होगा।

  • हाँ, अगर वे अपने कोड स्पष्ट करने, एक बड़ा गड़बड़ करता है, तो उदाहरण के लिए आप व्यवस्थापक और जनता के विचारों के लिए एक ही नियंत्रक है, जो तब अलग दृष्टिकोण है, तो एक व्यवस्थापक या सामान्य उपयोगकर्ता के आधार पर टेम्पलेट्स प्रस्तुत करना है था होगा उन्हें एक्सेस करता है। भी see here for more information
+0

डेमियन, उत्तर देने के लिए धन्यवाद। दूसरे बिंदु आरई रूटिंग पर प्रश्न। यह नियंत्रक जेनरेटर के आपके उपयोग को कैसे प्रभावित करता है? और क्या आप बिल्कुल मचान करते हैं? –

+1

आप नियंत्रक पीढ़ी को भी स्कूप कर सकते हैं ... 'स्क्रिप्ट/नियंत्रक व्यवस्थापक/उपयोगकर्ता उत्पन्न करें। –

0

मेरी मार्गों में एक व्यवस्थापक नाम स्थान की स्थापना के अलावा, मैं declarative_authorization प्लगइन, आप उपयोगकर्ताओं के लिए भूमिका तय करते और साथ ही मॉडल विशेषताओं के रूप में नियंत्रक कार्यों पर पहुँच नियंत्रण परिभाषित करने देता है जो का उपयोग करें। यदि कोई उपयोगकर्ता उस क्रिया को एक्सेस करने का प्रयास करता है जिसके लिए अनुमति नहीं है, तो प्लगइन उनके अनुरोध को पुनर्निर्देशित करेगा। इसे संभालने का वास्तव में साफ तरीका और सुरक्षा के एक दानेदार स्तर प्रदान करने में मदद करता है।

रेल पारिस्थितिक तंत्र में कई अन्य प्लगइन्स हैं जो समान कार्यक्षमता प्रदान करते हैं।

2

रेलसकास्ट की एक श्रृंखला है जो एक दृष्टिकोण दिखाती है जो विचारों और नियंत्रकों में सशर्तों का उपयोग करके एक अलग व्यवस्थापक क्षेत्र से बचाती है: Where Administration Goes

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

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