Jestem nowicjuszem w firmie Devise, który działa poprawnie, używając adresu e-mail jako klucza uwierzytelniającego. Mam jednak przypadek użycia, który wymaga nazwy użytkownika i nie mogę sprawić, żeby działało.Wymyślanie uwierzytelniania za pomocą nazwy użytkownika zamiast adresu e-mail
Dodałem kolumnę ciągów, "username" do tabeli użytkowników, zmieniono pola z: e-mail na: nazwa użytkownika w formularzu logowania i zmieniono klucz uwierzytelniania w devise.rb na: nazwa użytkownika jeszcze Kiedy wchodzę do logowania, otrzymuję następujący komunikat: "Proszę podać adres e-mail".
Co robię źle?
**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 ]
czy zrestartowałeś swoją aplikację szyn? – rb512
Tak, zrestartowany serwer szyny wyciągnął również to, o czym wspomniałeś. Brak przyjemności. – nulltek