2013-02-21 47 views
7

वसीयत TestHelpers यह इस तरह के रूप लाइनों का उपयोग करने कहा गया है प्रयोग करने के लिए किए गए दस्तावेज़ों में ...वसीयत :: TestHelpers डॉक्स Devise.mappings पर स्पष्ट नहीं [: मानचित्रण] उपयोग

@request.env["devise.mapping"] = Devise.mappings[:admin] 

या

@request.env["devise.mapping"] = Devise.mappings[:user] 

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

क्या आप स्पष्टीकरण दे सकते हैं? ... शायद संसाधन का नाम क्या मतलब है?

टीआईए। -Matt

उत्तर

9

उत्तर देने के बाद से, मेरा शोध इंगित करता है कि दस्तावेज़ीकरण में संकेतित मैपिंग वास्तव में संसाधन का जिक्र कर रही है जिसके खिलाफ देवता संलग्न है।

मेरे भाग पर सट्टा है, लेकिन यह काम प्रतीत होता है, और यह कोड के मेरे स्कैन से सहमत है। उदाहरण के लिए, आप केवल एक ही संसाधन बुलाया उपयोगकर्ता हैं, तो आप वसीयत के सत्यापन के लिए, का इस्तेमाल किया है तो आप केवल अपने नियंत्रक कल्पना सेटअप में निम्नलिखित का उपयोग करने की आवश्यकता होगी:

@request.env["devise.mapping"] = Devise.mappings[:user] 

हालांकि, अगर आप एक से अधिक मॉडल है आप कर रहे हैं उपयोगकर्ता और व्यवस्थापक के खिलाफ प्रमाणीकरण, आपको क्रमशः निम्नलिखित का उपयोग करने की आवश्यकता होगी।

@request.env["devise.mapping"] = Devise.mappings[:user] 

और

@request.env["devise.mapping"] = Devise.mappings[:admin] 

करें यदि आप बेहतर इनपुट है इस प्रश्न/उत्तर अद्यतन करने के लिए स्वतंत्र लग रहा है।

+0

सही उत्तर के रूप में चिह्नित किया जाना चाहिए; यह दस्तावेज़ों का पालन करता है। – jackyalcine