मैं पीछा कर रहा था वसीयत इस कैसे How To: Allow users to sign in using their username or email address पर और सभी चरणों वहाँ विस्तृत था, लेकिन जब मैं registrations/new.html.erb
फ़ॉर्म के माध्यम से रजिस्टर करने की कोशिश मैं इस त्रुटि मिलती है:"ईमेल खाली नहीं हो सकता" उपयोगकर्ता नाम या ईमेल का उपयोग
Email can't be blank
अपने मॉडल में मेरे पास है:
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
attr_accessible :username, :email, :password, :password_confirmation, :remember_me
attr_accessor :login
attr_accessible :login
और
def self.find_first_by_auth_conditions(warden_conditions)
conditions = warden_conditions.dup
if login = conditions.delete(:login)
where(conditions).where(["lower(username) = :value OR lower(email) = :value", { :value => login.downcase }]).first
else
where(conditions).first
end
end
किसी भी सलाह इस समस्या के साथ?
# Email is not required
def email_required?
false
end
कि अपने मॉडल में जोड़ा साथ
मैं उपयोगकर्ता नाम के साथ रिकॉर्ड बना सकते हैं और छोड़ने:
======= अद्यतन
मैं इसे की तरह कुछ है यहाँ कुछ ■[rails]How to use Devise and Rails , without EMail यहां पाया ईमेल क्षेत्र को खाली है, लेकिन डेटाबेस एक त्रुटि बढ़ जाता है जब मैं ईमेल के बिना एक दूसरे रिकॉर्ड बनाने के लिए प्रयास करें:
Mysql2::Error: Duplicate entry '' for key 'index_parents_on_email':...
मैं इस का उपयोग करना चाहिए, से सूचकांक को दूर मेरी डेटाबेस में तालिका, और मॉडल में username
मान्य करें? क्योंकि मुझे उस मॉडल पर वास्तव में ईमेल फ़ील्ड की आवश्यकता नहीं है।
Mr_Nizzle देखें, क्या आप अधिक कामुक तरीके से स्वीकार कर सकते हैं? – asiniy