[RUBY] Créer un nouvel utilisateur avec des rails était en colère contre l'attribut inconnu "mot de passe" pour l'utilisateur.

En créant un service Web auquel j'ai pensé pour la première fois avec des rails, je me suis soudainement mis en colère lors de la création d'un nouvel utilisateur

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

Cause enquête

On m'a dit qu'il n'y a pas de colonne de mot de passe, je vais donc vérifier la colonne dans le tableau Utilisateurs

$ 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>

Il n'y a certainement pas de colonne de mot de passe. La colonne de mot de passe doit avoir été créée dans la table des utilisateurs en créant un fichier de migration, mais ... Jetons un coup d'œil au fichier de migration

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

Il y avait un deux-points supplémentaire après add_column

Conclusion

Correction de l'erreur de code précédente et rails db: migrer et cela a fonctionné C'était une erreur rudimentaire alors je veux faire attention

Recommended Posts

Créer un nouvel utilisateur avec des rails était en colère contre l'attribut inconnu "mot de passe" pour l'utilisateur.
Règles de dénomination lors de la création de nouveaux contrôleurs et modèles avec rails
[Rails6] Créer une nouvelle application avec Rails [Débutant]
Rails Bases de la création d'une nouvelle application
[Rails 5] Créer une nouvelle application avec Rails [Débutant]
[Rails] rails nouveau pour créer une base de données avec PostgreSQL
[Pour les débutants] Procédure de création d'un contrôleur à l'aide de rails
Tutoriel pour créer un blog avec Rails pour les débutants Partie 1
Tutoriel pour créer un blog avec Rails pour les débutants Partie 0
[Rails] Lancer un nouveau projet
[Rails] Création d'un champ de recherche
Préparation au développement avec Rails
[Rails] Evitez le SELECT émis lors de la création d'un modèle avec appartient_to défini!
Procédure de création d'un environnement de développement d'applications Rails avec Docker [Rails, MySQL, Docker]
Créer une nouvelle application avec Rails
[Ruby on Rails] Créez un graphique circulaire des totaux par colonne avec Chartkick
Création d'un environnement de développement pour les applications Web Java avec Docker pour Mac Part1
Créez un environnement de développement local pour les didacticiels Rails avec Docker (Rails 6 + PostgreSQL + Webpack)