ja po tym jak do na How To: Allow users to sign in using their username or email address i nie wszystkie kroki wyszczególnione tam, ale gdy próbuję zarejestrować poprzez formularz registrations/new.html.erb
otrzymuję ten błąd:„e-mail nie może być puste” Opracować użyciu nazwy użytkownika lub e-mail
Email can't be blank
W moim modelu mam:
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
attr_accessible :username, :email, :password, :password_confirmation, :remember_me
attr_accessor :login
attr_accessible :login
i
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
Wszelkie porady z tym problemem?
======= UPDATE
Znalazłem coś tutaj ■[rails]How to use Devise and Rails , without EMail tutaj jest coś takiego:
# Email is not required
def email_required?
false
end
z tym dodany w moim modelu mogę utworzyć rekord z nazwą użytkownika i pozostawiając e pole puste, ale gdy próbuję utworzyć drugi rekord bez poczty elektronicznej bazy danych wzrasta błąd:
Mysql2::Error: Duplicate entry '' for key 'index_parents_on_email':...
stosować ten, usunąć indeks od mojego tabeli w bazie danych i po prostu sprawdzić poprawność modelu username
w modelu? ponieważ tak naprawdę nie potrzebuję pola adresu e-mail w tym modelu.
Mr_Nizzle, czy możesz zaakceptować bardziej seksowny sposób? – asiniy