के बजाय उपयोगकर्ता नाम के साथ प्रमाणित प्रमाणीकरण मैं डेविस के लिए नया हूं और प्रमाणीकरण कुंजी के रूप में एक ईमेल पता का उपयोग कर इसे ठीक से काम कर रहा हूं। हालांकि, मेरे पास एक उपयोग केस है जिसके लिए उपयोगकर्ता नाम की आवश्यकता है और मुझे यह काम नहीं लग रहा है।ईमेल
मैंने उपयोगकर्ताओं की तालिका में एक स्ट्रिंग कॉलम, "उपयोगकर्ता नाम" जोड़ा है, इन्हें फ़ील्ड बदल दिया है: ईमेल से: साइन-इन फॉर्म में उपयोगकर्ता नाम, और devise.rb में प्रमाणीकरण कुंजी को बदल दिया है: उपयोगकर्ता नाम अभी तक जब मैं साइन इन करने जाता हूं तो मुझे इस प्रॉम्प्ट से मुलाकात की जाती है: "कृपया एक ईमेल पता दर्ज करें"।
मैं क्या गलत कर रहा हूं?
**new.html.erb**
<div><%= f.label :username %><br />
<%= f.email_field :username %></div>
**User.rb**
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :token_authenticatable, :encryptable, :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable, :authentication_keys => [:username]
# Setup accessible (or protected) attributes for your model
attr_accessible :email, :password, :password_confirmation, :remember_me, :username
# attr_accessible :title, :body
end
**devise.rb**
config.authentication_keys = [ :username ]
क्या आपने अपने रेल ऐप को पुनरारंभ किया है? – rb512
हां, पुनरारंभ रेल सर्वर ने आपके द्वारा उल्लेखित किए गए कार्यों को भी खींच लिया। कोई आनंद नहीं है। – nulltek