Hallo, das ist Teppei Mimachi.
Beim Programmieren tritt immer ein Fehler auf. Einige Fehler sind leicht zu beheben, während andere nicht motiviert sind und nicht in Stunden oder sogar Tagen behoben werden können.
Hier ist eine Technik, die Sie möglicherweise für Fehler verwenden können, die Ihnen helfen können, wenn Sie entmutigt sind. Diesmal ist der Fehler in Ruby on Rails aufgetreten. Wenn es sich jedoch um einen datenbankbezogenen Fehler handelt, ist er in jeder Entwicklungsumgebung für Programmiersprachen unabhängig von Rails wirksam.
Dieses Mal dauerte es 3 Tage ab dem Auftreten des Fehlers, um ihn zu beheben, und ich versuchte, ihn kurz und leicht verständlich zusammenzufassen.
Um diesen Artikel zu skizzieren __ Wenn die Datenbank wie das Original aussieht, ist es schneller, die Datenbank neu zu erstellen. __ __ Die Geschichte.
Dann haben Sie einen dreitägigen Kampf!
undefined method `image_name' for nil:NilClass
Als ich den obigen Satz aufgegriffen und den Teil for nil: NilClass ignoriert habe Dies bedeutet, dass die Methode __image_name nicht definiert ist __.
__1. Vergessen, eine Methode zu definieren 2. Einfache Tippfehler __
Ich bezweifelte diesen Bereich und versuchte verschiedene Dinge, Methodendefinition Weder schlecht noch Tippfehler ...
Selbst wenn ich versuche zu googeln, kann ich nicht die richtige Antwort finden ...
Vorerst war ich müde und schlief am ersten Tag ein.
Ich habe erneut nach Tippfehlern gesucht, aber es gab kein Problem.
Ich habe hier nicht viel Aufmerksamkeit geschenkt
for nil:NilClass
Ich werde versuchen, über den Teil von zu googeln.
Übrigens, wenn Sie Ruby noch nie benutzt haben, Was ist nil? Vielleicht aber
__nil ist gleichbedeutend mit null. __ __ Mit anderen Worten, __ "nichts" __.
Eine Sache, die mir einfällt, ist, dass es nichts gibt ... __ Es scheint mit der Datenbank zu tun zu haben __
Und als ich bemerkte, hatte sich das Datum um 1 Uhr morgens komplett geändert.
Ruby on Rails 5 --undefinierte Methode `image_name'for nil: NilClass error" teratail
Ich bin an der oben genannten Stelle angekommen. Von hier aus geht das Zitat weiter,
![Screenshot 2020-09-09 16.20.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/688029/9207fcde-3ea3-61aa-649b -0533a6d40940.png)
Dieser Austausch ist alles.
Für diejenigen, die wegen der großen Anzahl von Buchstaben nicht lesen wollen, kann die Schlussfolgerung kurz zusammengefasst werden. __ Ich habe die Ursache grob verstanden, aber es ist besser, die Datenbank neu zu erstellen. __ __ Die Geschichte.
__posts Erstellen Sie eine Tabelle und geben Sie mehrere Daten ein ↓ Programmieren Sie in der Mitte eine Regel, die keine Spalte im Status Null erstellen soll (nichts). ↓ Erstellen Sie eine neue Spalte (user_id) ↓ Alle bisherigen user_id-Spalten befinden sich im Status Null ↓ Ein Fehler ist aufgetreten __
Die Ursache enthält Daten, die nicht in der Datenbank gespeichert werden sollen. Dann löschen Sie die Daten. Wenn es auch dann kein Problem gibt, wenn Sie es in der Datenbank der Entwicklungsumgebung löschen, können Sie es wiederherstellen, indem Sie es wie folgt neu erstellen.
Im Fall von Ruby on Rails,
Rails
$ rails db:drop #Löschen Sie die Datenbank
$ rails db:create #Erstellen Sie eine Datenbank
$ rails db:migrate #Zur Datenbank migrieren
Wenn Sie den Quellcode eingeben, der auf diese Weise zu Ihrer Entwicklungsumgebung passt, ist dies eine gute Übersetzung ^^
Recommended Posts