Ich werde den Prozess der Weiterentwicklung des Rails-Tutorials selbst veröffentlichen.
Es berührt Wörter, die ich dabei nicht verstanden habe, und hat Fehler blockiert.
Bitte weisen Sie auf Fehler hin, da diese auf persönlichem Lernen beruhen.
Da dies mein erster Beitrag ist, denke ich, dass es viele Orte gibt, die schwer zu lesen sind, aber bitte verzeihen Sie mir.
Die Überprüfung der Existenz scheint durchgeführt zu werden mit: Anwesenheit. Das Tutorial zeigt oft abgekürzten Code, daher folge ich ihm selbst, bis ich ihn verstehe.
validates :name, presence: true
#Wenn Sie alle Klammern setzen
validates(:name, {presence: true}) #Der zu überprüfende Spaltenname ist das erste Argument, und der zu überprüfende Inhalt ist das zweite Argument.
ein Problem ist aufgetreten !! Ausführen des Tests in Listing 6.13
RuntimeError: RuntimeError: database is locked
Wird angezeigt und ein Fehler tritt auf.
Was ich zu lösen versuchte
Referenzartikel 1 https://qiita.com/kambe0331/items/1eaf2383b39c721e7283 In Bezug auf diesen Artikel habe ich die Datei test.sqlite3 unter der Datenbankdatei umbenannt und wieder in den ursprünglichen Namen geändert.
Ergebnis Es funktioniert nicht ...
Nächster
Referenzartikel 2 https://stackoverflow.com/questions/7154664/ruby-sqlite3busyexception-database-is-locked/62730905#62730905 Lesen Sie in diesem Artikel alle DB-Browser für SQlite, Server, Eingabeaufforderungen usw. einmal und starten Sie sie erneut.
Ergebnis Ich konnte den Test bestehen.
Beiseite Ich konnte den Test vorübergehend löschen, aber anscheinend wurde er nicht grundlegend gelöst, und dieser Fehler wird weiterhin häufig auftreten.
Die Lösung des Fehlers ist in einem anderen Artikel zusammengefasst. https://qiita.com/shun_study_p/items/fbb4cb2d4c392063c9a9
Es scheint, dass die Längenüberprüfung durchgeführt wird mit: Länge.
validates :name, presence: true, length: { maximum: 50 }
#Wenn Sie zum leichteren Verständnis Klammern setzen
validates(:name, {presence: true, length: { maximum: 50 }})
Folgen Sie nach wie vor den Klammern, bis Sie sich daran gewöhnt haben.
Die Überprüfung der Eindeutigkeit scheint durchgeführt zu werden mit: Eindeutigkeit. Anscheinend können Sie mithilfe der Option case_sensitive angeben, ob zwischen Groß- und Kleinschreibung unterschieden werden soll.
case_sensitive: false
Auf diese Weise haben wir die Option hinzugefügt, den Eindeutigkeitswert bei der Überprüfung seiner Eindeutigkeit unabhängig von Groß- und Kleinschreibung zu machen.
ein Problem ist aufgetreten !! Das letzte Mal habe ich den Rails-Test durchgeführt
Migrations are pending. To resolve this issue, run:
bin/rails db:migrate RAILS_ENV=test
Und ein Fehler ist aufgetreten. Ich habe die Fehlermeldung erhalten, dass ich nicht migrieren konnte, als ich den Befehl ausgeführt habe, der gehorsam angezeigt wurde ...
Lösung Lesen Sie den folgenden Artikel http://kzlog.picoaccel.com/post-995/
rails db:rollback RAILS_ENV=test
rails db:migrate RAILS_ENV=test
Als ich den obigen Befehl ausgeführt habe, hat es gut funktioniert.
Diesmal bin ich auf einen kleinen Fehler gestoßen. Ich konnte jedoch den Inhalt von Kapitel 6 verstehen.
Recommended Posts