2017-01-23 7 views
0

Neuinstallation von Devise, ich kann einen neuen Benutzer registrieren. Aber nach dem Abmelden kann ich mich nicht anmelden und erstelle eine Antwort "Ungültige Email oder Passwort".Rails 5 & Devise: Login liefert immer falsches Passwort

Wenn ich mir User.last anschaue sehe ich die richtige E-Mail. User.last.password ist null und User.last.encrypted_password gibt ein verschlüsseltes Passwort zurück.

Routen:

resources :users 
devise_for :users, path: '', path_names: { sign_up: 'register', sign_in: 'login', sign_out: 'logout'} 

Registrierungen/neu:

<%= form_for(resource, as: resource_name, url: user_registration_path, :html => {:class => "col s12 form-text"}) do |f| %> 
     <div class="row"> 
     <div class="input-field col s12"> 
      <%= f.text_field :full_name, :class => "validate", :placeholder => "Robin Smith" %> 

      <%= f.label :full_name, :class => "allcaps" %> 
     </div> 
     </div> 

     <div class="row"> 
     <div class="input-field col s12"> 
      <%= f.email_field :email, :class => "validate" %> 
      <%= f.label :email, :class => "allcaps" %> 
     </div> 
     </div> 

     <div class="row"> 
     <div class="input-field col s12"> 
      <%= f.password_field :password, :class => "validate" %> 
      <%= f.label :password, :class => "allcaps" %> 
     </div> 
     </div> 

     <div class="button-container"> 
     <%= f.submit :class => "waves-effect waves-light btn-flat", :value => "Join Now" %> 
     </div> 
    <% end %> 

Sitzungen/neu:

<%= form_for :session, :html => {:class => "col s12 form-text"} do |f| %> 
     <div class="row"> 
     <div class="input-field col s12"> 
      <%= f.email_field :email, :class => "validate" %> 
      <%= f.label :email, :class => "allcaps" %> 
     </div> 
     </div> 

     <div class="row"> 
     <div class="input-field col s12"> 
      <%= f.password_field :password, :class => "validate" %> 
      <%= f.label :password, :class => "allcaps" %> 
     </div> 
     </div> 

     <div class="button-container"> 
     <%= f.submit :class => "waves-effect waves-light btn-flat", :value => "Login" %> 
     </div> 
    <% end %> 

Wo falsch gehe ich?

+0

Es sieht so aus, als ob Sie die Standardsitzungen/neue Ansicht, die Devise generiert, geändert haben. Dies ist der Standardwert: '<% = form_for (Ressource, wie: Ressourcenname, URL: Sitzungspfad (Ressourcenname)) do | f | %> 'so stellen Sie sicher': session' macht was es soll. – mmichael

+0

@mmichael danke - nur zu Ihrer Version getauscht und es funktioniert. Ich nahm fälschlicherweise an, ich könnte unsere Ressource einfach austauschen für: Sitzung –

+0

Kein Problem. Lassen Sie mich wissen, ob Sie diese Frage nicht ablehnen möchten und ich werde eine Antwort basierend auf meinem Kommentar hinzufügen. – mmichael

Antwort

1

Sieht so aus, als hätten Sie den Standard sessions/new view geändert, den Devise generiert.

Dies ist der Standard:

<%= form_for(resource, as: resource_name, url: session_path(resource_name)) do |f| %> 

so stellen Sie sicher, :session tut, was es angenommen hat.

Verwandte Themen