Erstellen Sie unser Ruby on Rails-Anwendungslogin

Inhaltsverzeichnis
In unseren Webanwendungen müssen wir fast immer Benutzer registrieren, auf diese Weise haben wir Mitglieder unserer Geschäfte, Blogs, virtuellen Gemeinschaften, Verwaltungssysteme usw. Damit die Registrierung effektiv und nützlich ist, müssen sich diese Benutzer authentifizieren können, um Teile eingeben zu können, die für registrierte Benutzer erstellt wurden, wie z.
Das Login ist der entscheidende Teil unserer Anwendung, es ermöglicht uns, das Private vom Öffentlichen zu trennen, es ermöglicht uns zu wissen, welches Profil jeder Benutzer hat, der sich betritt, und somit zu entscheiden, was er sehen kann oder nicht.
Damit unsere Anwendung diese Funktionalität hat, benötigen wir eine Aktion im Controller, die es uns ermöglicht, den Benutzer zu authentifizieren, indem wir seinen Benutzernamen und sein Passwort mit dem, was wir in der Datenbank haben, vergleichen. Sobald dies geschieht, müssen wir in der Sitzung einige Werte speichern die uns jederzeit wissen lassen, wer eingeloggt ist und welches Profil und welche Berechtigungen er hat, letzteres hängt natürlich stark von der Gestaltung unserer Anwendung ab.
Jetzt müssen wir wissen, wie man einen Controller generiert und alles, was mit der Konsole zu tun hat Schienen, sodass wir den Controller und seinen Inhalt sowie die dahinter stehende Logik direkt sehen:
 def Login wenn request.get? session [: user_id] = nil @user = User.new else @user = User.new (params [: user]) login_in_user = @ user.try_to_login wenn eingeloggt_in_user session [: user_id] = angemeldet_in_user.id redirect_to (: action => "index") else flash [: notice] = "Ungültige Benutzer-/Passwortkombination" end end end 

Im ersten Teil mit der IF-Bedingung unseres Controllers bitten wir um die AnfrageWenn es GET ist, bereinigen wir die Sitzung und erstellen ein neues Benutzertypobjekt, auf diese Weise bereiten wir den Einstiegsweg vor. Wenn nicht ERHALTEN Anfrage wir nehmen an, es ist POST, dann übergeben wir die Formularparameter an unser Objekt und rufen dann die Methode auf try_to_login, vergleicht diese Methode den Benutzernamen und das Passwort mit dem, was wir in der Datenbank haben.
Schließlich sehen wir mit einer weiteren Bedingung, ob der Benutzer tatsächlich eingeloggt war, weisen der Sitzung Werte zu und leiten den Benutzer dann auf den Index um, ansonsten zeigen wir einen Fehler mit einer Meldung an.
Wie wir im Controller gesehen haben, rufen wir einige Methoden auf, die es uns ermöglichen, entsprechende Vergleiche anzustellen. Jetzt müssen wir diese Methoden erstellen und dafür werden wir es im Modell tun, mal sehen, was es enthält und warum es enthält es:
 def self.login (Name, Passwort) hashed_password = hash_password (Passwort || "") find (: first,: Conditions => ["name =? and hashed_password =?", name, hashed_password]) end def try_to_login User.login (self.name, self.password) end 

Die Methode Anmeldung Es ist ganz einfach, es empfängt zwei Parameter: Name und Passwort und fragt dann die Datenbank nach diesen Werten ab.
Die Methode try_to_login, was es tut, ist die Login-Methode aufzurufen, auf diese Weise können wir dem Benutzer eine Antwort geben, ob sie in unserer Datenbank vorhanden ist oder nicht.
Schließlich erstellen wir unsere Ansicht und die Aktionen, die sie verwenden wird, in der Datei App / Ansichten / Login wir werden unsere erstellen login.rhtml und auch unsere index.rhtml, die erste ist der Konstruktion des Benutzers sehr ähnlich und diese zweite werden wir jetzt sehen.

Gesamtbestellungen im System:

Bestellungen ausstehender Versand:


Wie wir sehen, ist es ganz einfach, es werden einfach die ausstehenden Bestellungen des Benutzers angezeigt, dafür müssen wir im Controller die erforderlichen Aktionen einbinden:
 def index @total_orders = *****.count @pending_orders = *****.count_pending end 

Dort hätten wir das Ergebnis gesehen.Hat dir dieses Tutorial gefallen und geholfen?Sie können den Autor belohnen, indem Sie diesen Knopf drücken, um ihm einen positiven Punkt zu geben

Sie werden die Entwicklung der Website helfen, die Seite mit Ihren Freunden teilen

wave wave wave wave wave