2011-04-07 8 views
17

मैं व्यवस्थापक उपयोगकर्ता को डेविस में अन्य उपयोगकर्ताओं को संपादित करने की अनुमति देने की कोशिश कर रहा हूं, लेकिन जब मैं किसी अन्य उपयोगकर्ता के लिए एक संपादन पृष्ठ तक पहुंचने का प्रयास करता हूं (उदाहरण/उपयोगकर्ता/1/संपादित करें)डिवाइसेज: अन्य उपयोगकर्ताओं को संपादित करने के लिए व्यवस्थापक को अनुमति दें - रेल

Unknown action 

Could not find devise mapping for path "https://stackoverflow.com/users/1/edit" 

केवल पथ काम करने के लिए लगता है कि है/उपयोगकर्ताओं/संपादन, जो वर्तमान उपयोगकर्ता के लिए संपादित करें पृष्ठ दिखाता है:, मैं निम्न संदेश मिलता है।

मेरी मार्गों में फाइल मेरे पास है:

devise_for :users, :controllers => { :registrations => 'users' } 
resources :users 

कोई भी विचार? धन्यवाद!

उत्तर

1

मैंने जो किया है वह मैंने किया है, और आपके मार्ग सही दिखते हैं।

आपको एक उपयोगकर्ता नियंत्रक भी बनाना होगा जो उपयोगकर्ताओं पर किए जाने वाले सभी सीआरयूडी कार्यों को संभालता है। यह डेविस से अलग है।

जब आपका उपयोगकर्ता नियंत्रक वहां होता है, तो आप केवल मौजूदा उपयोगकर्ताओं को एक व्यवस्थापक नहीं होने पर व्यवस्थापक उपयोगकर्ताओं को रीडायरेक्ट (शायद पहले फ़िल्टर में) द्वारा विशेष क्रियाओं तक पहुंचने की अनुमति दे सकते हैं।

6

वसीयत उपयोगकर्ता प्रमाणीकरण के लिए अच्छा है, लेकिन यह नहींप्रबंध उपयोगकर्ताओं के लिए समर्थन में बनाया के साथ आता है। तो आपको इसे स्वयं बनाना होगा।

यहां यह करने के लिए an example है। उदाहरण कुछ महीने पुराना है लेकिन यह आपको सही दिशा में इंगित करना चाहिए।

+0

बहुत बहुत धन्यवाद, डीटीई - ऐसा लगता है कि यह काम करेगा। अगले दिन या तो इसे आज़माने के लिए उत्साहित और जब यह करता है तो अपना उत्तर चुनें! एक बार फिर धन्यवाद। –

+0

कभी यह काम कर रहा है? – ZMorek

19

मुझे यह भी करना है, और वर्तमान में यह तैयार नहीं हुआ है। चूंकि सबसे ऊपर दिए गए उत्तर में एक मृत लिंक है, मैंने सोचा कि मैं अपना समाधान यहां पोस्ट करूंगा।

आपको उपयोगकर्ता नियंत्रक बनाने की आवश्यकता है और अपने फॉर्म और नियंत्रक को स्वयं बनाया है, लेकिन फिर आपको उपयोगकर्ता नियंत्रक को अलग करने की आवश्यकता है जो सेट अप तैयार करता है। अपने routes.rb फ़ाइल में इस, करने के लिए,

devise_for :users, :path_prefix => 'd' # routes for devise modules on User 

resources :users # custom admin-type CRUD for users 

यह करने के लिए अपने devise_for :users कॉल को संशोधित अपने सभी डिफ़ॉल्ट वसीयत-संभाला मार्गों बदल जाएगा/घ/उपयोगकर्ताओं/... और आप/उपयोगकर्ताओं डालते हैं/.. आपको उपयोगकर्ताओं को व्यवस्थापक के रूप में प्रबंधित करने के लिए पथ।

डेविस इस in their wiki को भी संबोधित करता है।