Salut, c'est Teppei Mimachi.
Lorsque je programme, je rencontre toujours une erreur. Certaines erreurs sont faciles à résoudre, tandis que d'autres ne sont pas motivées et ne peuvent être résolues en quelques heures, voire en quelques jours.
Voici une technique que vous pourriez utiliser pour les erreurs qui peuvent vous aider lorsque vous êtes découragé. Cette fois, l'erreur s'est produite dans Ruby on Rails, mais s'il s'agit d'une erreur liée à la base de données, elle est efficace dans n'importe quel environnement de développement de langage de programmation indépendamment de Rails.
Cette fois, il a fallu 3 jours à compter de la survenue de l'erreur pour la résoudre, j'ai donc essayé de la résumer de manière courte et facile à comprendre.
Pour décrire cet article __ Si la base de données ressemble à l'original, il est plus rapide de recréer la base de données. __ L'histoire.
Ensuite, battez-vous pendant trois jours!
undefined method `image_name' for nil:NilClass
Quand j'ai repris la phrase ci-dessus et ignoré la partie pour nil: NilClass Cela signifie que la méthode __image_name n'est pas définie __.
__1. Vous avez oublié de définir une méthode 2. Erreurs typographiques simples __
J'ai douté de ce domaine et essayé diverses choses, Définition de la méthode Ni mauvaise ni faute de frappe ...
Même si j'essaye de google, je n'arrive pas à trouver la bonne réponse ...
Pour le moment, j'étais fatigué et je me suis endormi le premier jour.
J'ai réexaminé les erreurs typographiques, mais il n'y avait pas de problème.
Je n'ai pas fait beaucoup attention ici
for nil:NilClass
Je vais essayer de google sur la partie de.
Au fait, si vous n'avez jamais utilisé Ruby, Qu'est-ce que nil? Peut être mais
__nil est synonyme de null. __ En d'autres termes, __ "rien" __.
Une chose qui me vient à l'esprit est qu'il n'y a rien ... __ Il semble lié à la base de données __
Et quand j'ai remarqué, la date avait complètement changé à 1h du matin.
Je suis arrivé sur le site ci-dessus. De là, la citation continue,
![Capture d'écran 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)
Cet échange est tout.
Pour ceux qui ne veulent pas lire en raison du grand nombre de lettres, la conclusion peut être résumée brièvement. __ J'ai approximativement saisi la cause, mais il vaut mieux recréer la base de données. __ L'histoire.
__posts Créez une table et entrez plusieurs données ↓ Programme au milieu d'une règle qui ne doit pas créer de colonne à l'état nul (rien) ↓ Créer une nouvelle colonne (user_id) ↓ Toutes les colonnes user_id jusqu'à présent sont à l'état nul ↓ Erreur est survenue __
La cause contient des données qui ne doivent pas être stockées dans la base de données. Puis supprimez les données. Ou s'il n'y a pas de problème même si vous le supprimez dans la base de données de l'environnement de développement, vous pouvez le restaurer en le recréant comme cette fois.
Dans le cas de Ruby on Rails,
Rails
$ rails db:drop #Supprimer la base de données
$ rails db:create #Créer une base de données
$ rails db:migrate #Migrer vers la base de données
Si vous entrez le code source qui convient à votre environnement de développement de la même manière que celui-ci, c'est une bonne traduction ^^
Recommended Posts