Ich arbeite an einer Blog-Website in RoR geschrieben und stecken auf ein Problem mit Sorcery. Ich habe das Tutorial aus ihrer Dokumentation erstellt, um den einfachen Login zu erstellen. Mein Problem ist, dass sie E-Mail verwenden, um den Benutzer bei der Anmeldung zu identifizieren.Sorcery Simple Login mit Benutzername
Also habe ich versucht, meinen Session-Controller zu ändern, um den Benutzernamen als Parameter anstelle von E-Mail senden und änderte meine Ansicht entsprechend.
Das Protokoll sagt, dass alles gut funktioniert und der Benutzername und das Passwort an die Datenbank übergeben wird. Aber, und ich kann keine Lösung dafür finden, die SQL-Zeichenfolge, die generiert wird, verwendet immer noch "Autoren". "E-Mail" als Parameter.
Wie kann ich das beheben?
Mein log:
Processing by AuthorSessionsController#create as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"ForXjJMiPCI6H37xqtPzGwa9XBOHx1yIaGjlZdUd6Iw+G4M5v6s/JXrFcGG5VVyuFl6Is+cr5Zp/fxJcNyS/Tw==", "username"=>"Test", "password"=>"[FILTERED]", "commit"=>"Login"}
Author Load (0.5ms) SELECT "authors".* FROM "authors" WHERE "authors"."email" = 'Test' ORDER BY "authors"."id" ASC LIMIT ? [["LIMIT", 1]]
Rendering author_sessions/new.html.erb within layouts/application
Rendered author_sessions/new.html.erb within layouts/application (2.4ms)
Completed 200 OK in 63ms (Views: 49.6ms | ActiveRecord: 2.5ms)
Meine Sitzungssteuerung:
class AuthorSessionsController < ApplicationController
def new
end
def create
if login(params[:username], params[:password])
redirect_back_or_to(articles_path, notice: 'Logged in successfully.')
else
flash.alert = 'Login failed.'
render action: :new
end
end
def destroy
logout
redirect_to(articles_path, notice: 'Logged out!')
end
end
Mein new.html.erb
<h1>Login</h1>
<%= form_tag author_sessions_path, method: :post do %>
<div class="field">
<%= label_tag :username %>
<%= text_field_tag :username %>
<br>
</div>
<div class="field">
<%= label_tag :password %>
<%= password_field_tag :password %>
<br>
</div>
<div class="actions">
<%= submit_tag 'Login' %>
</div>
<% end %>
<%= link_to 'Back', articles_path %>