[RUBY] [Rails-Grundlagen] Informationen zu Fehlern beim Laden des Bildschirms (NameError, LoadError)

Dies ist der zweite Beitrag. Vielen Dank. Dieses Mal möchte ich einen Artikel über den Fehler schreiben, der beim Laden des Bildschirms aufgetreten ist, der beim Erstellen einer persönlichen Bewerbung aufgetreten ist.

Umgebung

Ruby: 2.5.1 RubyOnRais: 5.0.7

Fehlerinhalt

Der Inhalt des Fehlers sind die folgenden zwei.

① LoadError in EventsController#choise_artist Unable to autoload constant Set_list, expected ~ FesLive-app/app/models/set_list.rb to define it.

② Name Error in EventsController#choise_artist uninitialized constant EventsController:Setlist

Lösungen

Lösung von ①

Der erste Fehler ist, dass es nicht automatisch geladen werden kann. Zunächst einmal ist Rails Autoload eine "Funktion, die automatisch Dateien erfordert, die Namenskonventionen entsprechen". Dies bedeutet, dass @set_lists = Set_list.all in der folgenden Beschreibung nicht den Namenskonventionen entspricht. Tatsächlich erlauben die Namenskonventionen für Schienen nicht die Verwendung von Unterstrichen (_) für Klassennamen. Daher wurde mir gesagt, dass die Set_list-Klasse nicht automatisch geladen werden kann.

class EventsController < ApplicationController
  
  def choise_artist
    @set_lists = Set_list.all
    @event = Event.find(params[:id])
  end
  
end

Wenn Sie also "@set_lists = Setlist.all" setzen, können Sie den Fehler von ① durchbrechen.

[Referenz] Fehlerbildschirm LoadError in EventsController#choise_artistのエラー.png

(2) Lösung

Ich habe die Notation des Klassennamens geändert, damit das automatische Laden durchgeführt werden kann, aber diesmal habe ich einen NameError-Fehler erhalten. nicht initialisiert ⇒ Nicht initialisiert ⇒ Weil die Klasse nicht einsatzbereit ist Sie können sehen, dass es ein Problem bei der Angabe des Klassennamens zu geben scheint. Als ich mir das Setlist-Modell angesehen habe, war der Klassenname "SetList" und L war in Großbuchstaben. Also wurde mir gesagt, dass der Klassenname falsch ist ~.

class SetList < ApplicationRecord
  belongs_to :event
end
Dies"@set_lists = SetList.Wenn Sie "alle" sagen, kann dieser Fehler behoben werden.

[Referenz] Fehlerbildschirm uninitialized constant EventsController--Setlist.png

Vielen Dank, dass Sie so weit gelesen haben. Wenn Sie Fragen oder Ratschläge haben, die schwer zu verstehen sind, kommentieren Sie diese bitte. Dann!

[Referenzseite] https://qiita.com/hirokisoccer/items/4ba62a56b18eb834a8ee https://wa3.i-3-i.info/word16120.html

Recommended Posts

[Rails-Grundlagen] Informationen zu Fehlern beim Laden des Bildschirms (NameError, LoadError)
[Rails] Informationen zur Sammlung beim teilweisen Rendern (beim Laden einer teilweisen Vorlage)
So beheben Sie Fehler, die während der Installation von Rails 5.1.3 auftreten
Rails Grundlagen
Über Schienen 6
[Ruby On Rails] Über RubyAws :: Sigv4 :: Errors :: MissingCredentialsError