2012-08-04 9 views
10

मैं एक रेल ऐप बना रहा हूं।
मैं उपयोगकर्ताओं को डेविस का उपयोग करने के साथ अगली बार प्रवेश पासवर्ड छोड़ने के लिए 'मुझे याद रखें' चेक बॉक्स को लागू करना चाहता हूं: याद करने योग्य। लेकिन मैं यह समझ नहीं सकता कि कैसे कार्यान्वित किया जाए।
यदि आपको इसके साथ कोई विचार है, तो कृपया मुझे इसके लिए कुछ नमूना कोड दिखाएं।डेविस का उपयोग कैसे करें: याद रखने योग्य?

उत्तर

13

अपने उपयोगकर्ता मॉडल में :rememberable विकल्प जोड़ें

class User < ActiveRecord::Base 

    devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, 
     :validatable, :token_authenticatable, :lockable, :omniauthable 

    # ... 

end 

उपयोगकर्ताओं

class AddRememberCreatedAtToUsers < ActiveRecord::Migration 
    def change 
    add_column :users, :remember_created_at, :datetime 
    end 
end 

आप वसीयत डिफ़ॉल्ट विचारों का उपयोग नहीं कर रहे हैं की तालिका में remember_created_at स्तंभ जोड़ने के लिए एक प्रवास बनाएँ, अपने दृश्य में चेकबॉक्स जोड़ें:

<%= f.check_box :remember_me %> <%= f.label :remember_me %> 

मुझे लगता है कि यह अल है आपको जरूरत है ...

+0

यह मेरे लिए काम नहीं किया! कोई अन्य दृष्टिकोण? – Prem

+0

यह कोड काम नहीं कर रहा है। – indb

+0

मेरे लिए भी काम नहीं कर रहा है: ओ – ImranNaqvi

4

यदि आप अपनी खुद की प्रमाणीकरण रणनीतियों को लिखते हैं तो आपको याद रखने योग्य मुद्दों का सामना करना पड़ सकता है। संसाधन ऑब्जेक्ट (उदा। User) आपके प्रमाणीकरण द्वारा लौटाया गया! फॉर्म डेटा से resource.remember_me सेट करने के लिए विधि को ज़िम्मेदार होना चाहिए। यह आमतौर पर अभिभावक प्रमाणीकरण योग्य validate विधि द्वारा संभाला जाता है। यदि आप इस विधि का उपयोग नहीं करते हैं, तो आपको इसे स्वयं सेट करना होगा।

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