/ / schienen 5 authlogic kryptischer user_session-Fehler - Ruby-on-Schienen, Authlogic, Ruby-on-Schienen-5

rails 5 authlogic cryptic user_session error - ruby-auf-rails, authlogic, ruby-on-rails-5

Ich versuche, Authlogic mit Rails 5 (daher die user_session_params.to_h) und wenn ich versuche, eine neue Sitzung zu erstellen, erhalte ich die folgende Fehlermeldung, mit der ich nicht weiß, was ich tun soll. Vorschläge werden sehr geschätzt.

setzt @ user_session.errors.inspect

#<Authlogic::Session::Validation::Errors:0x0000000cb9b7a0 @base=#<UserSession: {:email=>"test@test.com", :password=>"<protected>"}>, @messages={:base=>["You did not provide any details for authentication."]}, @details={:base=>[{:error=>"You did not provide any details for authentication."}]}>

Hier ist der Code:

UserSessionsController

class UserSessionsController < ApplicationController
def new
@user_session = UserSession.new
end

def create
@user_session = UserSession.new(user_session_params.to_h)
puts @user_session.errors.inspect

if @user_session.save
flash[:notice] = "Login successful, thank you!"
redirect_to users_path
else
flash[:notice] = "Something went wrong, sorry."
end
end

def destroy
current_user_session.destroy
redirect_to new_user_sessions_path
end

private

def user_session_params
params.require(:user_session).permit(:email, :password, :remember_me)
end
end

UserSession

class UserSession < Authlogic::Session::Base
end

Aussicht

<%= form_for @user_session, url: user_sessions_path, method: :post, html: {class: "form-horizontal", role: "form"} do |f| %>
<div class="form-group">
<%= f.email_field :email, class: "form-control", placeholder: "Login" %>
</div>
<div class="form-group">
<%= f.password_field :password, class: "form-control", placeholder: "Password" %>
</div>
<%= f.submit "Login", class: "btn btn-primary" %>
<% end %>

Benutzer

class User < ApplicationRecord
acts_as_authentic do |c|
c.login_field = "email"
end
end

Antworten:

2 für die Antwort № 1

Es scheint einen zu geben Ausgabe von Authlogic unter Schienen 5.

Sie haben wahrscheinlich schon gesehen dieser Kommentar von github Ausgabe 487, aber Sie sind wahrscheinlich nur dem ersten Schritt gefolgt. Der Schritt nr. 2 befasst sich mit defekten Authlogic-Rückrufen unter Rails 5 und es gibt einen Link zu Pull-Anfrage # 488 wo ein fix entwickelt wird. Derzeit scheinen Ihre einzigen Optionen die folgenden zu sein:

  • Du kannst es versuchen dieser Zweig von Authlogic angeblich hat das Callback-Problem behoben, wie kommentiert in der Pull-Anfrage 488.
  • Sie können natürlich warten, bis sich alles beruhigt hat und Authlogic eine offizielle Unterstützung für Rails5 erhält.

0 für die Antwort № 2

Es sieht so aus, als ob dieses Problem behoben wurdeAuthlogic Version 3.5.0. Derzeit ist 3.5.0 noch nicht als stabile Version veröffentlicht worden, aber die Angabe von 3.5 in Ihrer Gemfile-Datei sollte die Dinge reparieren (es hat sich jedenfalls für mich getan):

gem "authlogic", "~> 3.5"