[RUBY] Das Erstellen eines neuen Benutzers mit Schienen war verärgert über das unbekannte Attribut "Passwort" für den Benutzer.

Beim Erstellen eines Webdienstes, an den ich zum ersten Mal mit Rails gedacht habe, wurde ich plötzlich wütend, als ich einen neuen Benutzer erstellte

unknown attribute 'password' for User.
              
  def create
    @user = User.new(
      name: params[:name],
      email: params[:email],
      password: params[:password]

Ursache Untersuchung

Mir wurde gesagt, dass es keine Kennwortspalte gibt, daher werde ich die Spalte in der Benutzertabelle überprüfen

$ rails console
$ User.new
Loading development environment (Rails 6.0.3.1)
irb(main):001:0> User.new
   (7.5ms)  SELECT sqlite_version(*)
=> #<User id: nil, name: nil, email: nil, created_at: nil, updated_at: nil>

Natürlich gibt es keine Passwortspalte. Die Kennwortspalte sollte in der Benutzertabelle durch Erstellen einer Migrationsdatei erstellt worden sein, aber ... Werfen wir einen Blick auf die Migrationsdatei

class AddPasswordToUsers < ActiveRecord::Migration[6.0]
  def change
    add_column: :users, :password, :string
  end
end

Nach add_column gab es einen zusätzlichen Doppelpunkt

Fazit

Der vorherige Codefehler und die Schienen db: migrate wurden korrigiert und es hat funktioniert Es war ein rudimentärer Fehler, deshalb möchte ich vorsichtig sein

Recommended Posts

Das Erstellen eines neuen Benutzers mit Schienen war verärgert über das unbekannte Attribut "Passwort" für den Benutzer.
Benennungsregeln beim Erstellen neuer Controller und Modelle mit Schienen
[Rails6] Erstelle eine neue App mit Rails [Anfänger]
Rails Grundlagen zum Erstellen einer neuen Anwendung
[Rails 5] Erstelle eine neue App mit Rails [Anfänger]
[Rails] Rails neu, um eine Datenbank mit PostgreSQL zu erstellen
[Für Anfänger] Verfahren zum Erstellen eines Controllers mithilfe von Schienen
Tutorial zum Erstellen eines Blogs mit Rails für Anfänger Teil 1
Tutorial zum Erstellen eines Blogs mit Rails für Anfänger Teil 0
[Rails] Starten Sie ein neues Projekt
[Rails] Erstellen eines Suchfelds
Vorbereitung für die Entwicklung mit Rails
[Rails] Vermeiden Sie das SELECT, das beim Erstellen eines Modells mit Gehört_zu Definiert ausgegeben wird!
Verfahren zum Erstellen einer Rails-Anwendungsentwicklungsumgebung mit Docker [Rails, MySQL, Docker]
Erstellen Sie eine neue App mit Rails
[Ruby on Rails] Erstellen Sie mit Chartick ein kreisförmiges Diagramm der Summen nach Spalten
Erstellen einer Entwicklungsumgebung für Java-Webanwendungen mit Docker für Mac Teil1
Erstellen Sie mit Docker eine lokale Entwicklungsumgebung für Rails-Tutorials (Rails 6 + PostgreSQL + Webpack)