2012-10-08 14 views
7

क्या मेरे कस्टम लॉगिन फॉर्म में डेविस प्रमाणीकरणकर्ता को इंगित करने का कोई तरीका है? मानक, unstyled रूप अनुपयोगी है (फ़ील्ड गुम है, सबमिट पर अपवाद फेंकता है, वास्तव में एक बार मेरे रनटाइम दुर्घटनाग्रस्त हो जाता है।) और बस अच्छी लग रही नहीं है। मेरे पास 100% उपयोग करने योग्य फॉर्म है, जो वास्तव में लोगों को लॉग इन करता है, लेकिन अगर कोई गलती हो जाती है, तो मानक फॉर्म दिखाता है, इसमें एक त्रुटि संदेश भी नहीं है। कुछ ऐसा है जैसे "जब लॉगिन फॉर्म प्रस्तुत करने के लिए कहा जाता है, तो /views/sys/login.html.erb प्रस्तुत करें, और त्रुटि पर, उस दृश्य पर वापस आएं और त्रुटि संदेश डालें" नोट: मैंने पहले से ही नीचे से कोशिश की है, एक अलग से सवालडिवाइसेज कस्टम लॉगिन फॉर्म

devise_for :users, :path => '', :path_names => {:sign_in => "system/login", :sign_out => "logout", :sign_up => "register" } 

और यह केवल मेरी प्रपत्र अधिलेखित कर देता है

(मेरे /system/ HTTP से /sys/ विचारों निर्देशिका से बाहर फ़ाइलें हो जाता है, तो http://localhost:3000/system/login प्रस्तुत करना होगा /views/sys/login.html.erb)

संपादित करें: कभी एक रेल एप्लिकेशन विकसित कि वेब रूपों के साथ लॉगिन या प्रमाणीकरण का उपयोग करता है (केवल sta ndard HTTP प्रमाणीकरण)

उत्तर

34

आप अपने रेल परियोजना जड़ से निम्न आदेश (का उपयोग कर अपने विचारों निर्देशिका के विचारों वसीयत स्थानांतरित कर सकते हैं):

rails g devise:views 

इस इसे अपने app/views/ में devise निर्देशिका का निर्माण करेगा। वहां आप इसके सभी विचार प्राप्त करेंगे और आप इसे पसंद करते समय अनुकूलित कर सकते हैं। लॉगिन फॉर्म को कस्टमाइज़ करने के लिए, आपको sessions/new.html.* फ़ाइल को संशोधित करने की आवश्यकता है। * .erb या .haml या कुछ और

+3

@Josh भविष्य में आपके द्वारा उपयोग किए जाने वाले प्लगइन के लिए रीडेमे के माध्यम से पढ़ा जा सकता है। डेविस के पास लगभग सभी प्रश्नों का उत्तर दिया गया है (आपके सहित): https://github.com/plataformatec/devise – richardaday

+0

मैंने सोचा कि मैंने रीडेमे के माध्यम से पढ़ा है और इसे दस्तावेज नहीं मिला है। मैं क्षमाप्रार्थी हूं। – Becca

+0

क्या मज़ेदार मॉडल और नियंत्रकों के लिए कुछ ऐसा करने का कोई तरीका है? उनको संशोधित करने का सबसे आसान तरीका क्या है? नियंत्रक के लिए –