[RAILS] Le paramètre strong est vrai, mais pour une raison quelconque, il ne peut pas être enregistré dans le tableau.

Ce qui n'a pas fonctionné

Je ne peux pas enregistrer dans la table même si les paramètres contiennent des valeurs. Il n'y a pas d'erreur.

Terminal


     6: def create
     7:   judge = Judge.new(judge_params)
     8:   judge.save
 =>  9:   binding.pry
    10: 
    11:   redirect_to  root_path 
    12: end

[1] pry(#<JudgesController>)> judge
=> #<Judge:0x00007fd58efb37c0
 id: nil,
 judge_correct_id: 2,
 comment: "Meo",
 created_at: nil,
 updated_at: nil>
[2] pry(#<JudgesController>)> judge.save
=> false

Conclusion

La clé externe doit exister dans une association, mais je ne l'ai pas mise dans le fichier de migration.

Méthode de vérification (méthode save!)

La méthode save ne renvoie que vrai ou faux, mais si la méthode save! Est fausse, elle semble déclencher une exception, donc le terminal montre qu'elle est à l'origine de l'erreur. Lorsque false est renvoyé en tant que variable d'instance .save sur le terminal, il est remplacé par la variable d'instance .save!

Validation failed: User must exist,Le message doit exister ・ ・ ・ hogehoge

Il y avait une description. Je pensais que je n'avais pas créé l'identifiant lié à User and Post alors que je formais une association, je l'ai donc ajouté et cela a fonctionné.

c'est tout

Recommended Posts

Le paramètre strong est vrai, mais pour une raison quelconque, il ne peut pas être enregistré dans le tableau.
J'ai spécifié la version et les rails nouveaux, mais pour une raison quelconque, la dernière version est incluse ~
[Pour les débutants] On dit que le rubis est rubis, mais qu'en est-il?
Erreur de construction du fichier ne peut pas être enregistré dans Xcode
Si vous obtenez l'erreur Les données ne peuvent pas être lues car elles sont manquantes dans le menu fixe pour mac
Comment traduire le message d'erreur en japonais (que faire si vous ne pouvez pas vous connecter pour une raison quelconque)
En cas d'exception, l'attente du débogueur est réaffiche et il y a un problème d'exception Logcat qui ne peut pas être vu.