Der "attr_accessor", der zuvor herauskam Ich habe nicht viel verstanden, also habe ich nachgeschlagen
Ich las zwei Zeilen und wollte den Rest aufgeben
Das Attribut Remember_Digest wurde bereits zum Benutzermodell hinzugefügt, das Attribut Remember_token wurde jedoch noch nicht hinzugefügt. Daher ist es erforderlich, das Token mit der Methode user.remember_token zugänglich zu machen und das Token zu implementieren, ohne es in der Datenbank zu speichern. Daher werden wir dies mit der gleichen Methode lösen wie die in 6.3 durchgeführte Passwortimplementierung. Zu diesem Zeitpunkt habe ich das virtuelle Kennwortattribut und das sichere Kennwort_digest-Attribut in der Datenbank verwendet. Das virtuelle Kennwortattribut wurde automatisch mit der Methode has_secure_password erstellt. Diesmal müssen Sie den Code Remember_token jedoch selbst schreiben. Um dies zu implementieren, erstellen Sie ein "virtuelles" Attribut mit dem in 4.4.5 genannten attr_accessor. (Rails Tutorial 6. Ausgabe)
Das Attribut Remember_Digest wurde bereits zum Benutzermodell hinzugefügt, das Attribut Remember_token wurde jedoch noch nicht hinzugefügt.
Vorhandene Attribute im Benutzermodell
User.attribute_names
=> ["id", "name", "email", "created_at", "updated_at", "password_digest", "remember_digest"]
Es gibt kein Remember_token-Attribut
Wird verwendet, um lesbare und beschreibbare Attribute zu definieren
Durch Setzen von attr_accessor: Remember_token
Definieren Sie das Attribut memor_token für ein Objekt der Benutzerklasse
Sie können auf "user.remember_token" und Attribute verweisen
`user.remember_token =" Token "und das Attribut
Wird in der Lage sein
Ich bezog mich auf Folgendes Was ist Rubys attr_accessor? [Japanische Übersetzung]
Ich habe bisher "user.name" und "user.email" verwendet "Attr_accessor" war mir nie bekannt
Darüber Zu denen, die von Rails [attr_accessor] eingegeben haben?
Im Prozess der "Schienen generieren Modell ..." und Migration Rails schien dasselbe ohne Erlaubnis zu tun
Daher ist es erforderlich, das Token mit der Methode user.remember_token zugänglich zu machen und das Token zu implementieren, ohne es in der Datenbank zu speichern. ... Um dies zu implementieren, erstellen Sie ein "virtuelles" Attribut mit dem in 4.4.5 genannten attr_accessor.
Remember_Token wird nicht in der Datenbank gespeichert Mit anderen Worten, ohne Verwendung von "Schienen erzeugen Modell ..." oder Migration Ich verstehe, dass ich "attr_accessor" verwende, weil ich ein neues Attribut hinzufügen möchte
Apropos Auch wenn "attr_accessor: Remember_token" definiert ist
User.attribute_names
=> ["id", "name", "email", "created_at", "updated_at", "password_digest", "remember_digest"]
Und "Remember_Token" sind nicht als Attribute des Objekts enthalten
user.remember_token = "token"
=> "token"
>> user.remember_token
=> "token"
Kann wie ein Objektattribut behandelt werden Ist das das "" virtuelle "Attribut"?
Recommended Posts