[RUBY] L'idée de couper quand l'erreur n'est pas résolue

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.

Tout d'abord, la conclusion

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!

Modèle du jour 1. :: Erreur

スクリーンショット 2020-09-09 13.33.02.png

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.

Jour 2. Similaire à une base de données

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.

Jour 3. Résultats de la poursuite de Google

Ruby on Rails 5 - méthode non définie ʻimage_name'for nil: j'obtiens une erreur disant NilClass | teratail

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 fin

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

L'idée de couper quand l'erreur n'est pas résolue
[Rails] Lorsque le changement de disposition du dispositif n'est pas reflété
Erreur lors de la finalisation du membre de la classe Entity utilisé dans SpringWebFlux
Le trait de soulignement ActiveSupport n'est pas la conversion inverse de camelize
Le message d'erreur du périphérique ne s'affiche pas correctement.
Lorsque le projet n'est pas affiché dans eclipse
[Rails] Que faire lorsque l'image Refile n'est pas affichée lors de l'écriture du traitement au moment de l'erreur de routage
L'idée du tri rapide
L'idée de jQuery
Quand le survol d'Eclipse est difficile à voir
Lorsque le mois de la date est acquis, le quart de janvier
[Erreur] L'application ne s'affiche pas dans l'environnement de production
"tx" n'est pas une erreur liée
Lorsqu'une erreur se produit même si la validation n'est pas définie
Lors de la réécriture du CMD de l'image docker de Pod dans le manifeste de k8s, n'utilisez pas la commande
[Swift] Obtenez le moment où la valeur de textField est modifiée
Le journal de journalisation n'est pas généré lorsque l'application serveur est fermée
Je veux rendre le cadre de la zone de texte rouge lorsqu'il y a une erreur de saisie
Comment résoudre le problème de non-sortie du journal de connexion lorsque l'application Web est arrêtée
Le référentiel ... n'est pas une erreur signée dans docker build apt-get update
L'histoire selon laquelle l'erreur de construction ne s'est pas arrêtée lors de l'utilisation d'Eclipse 2020
Méthode d'enquête lorsque le processeur du serveur exécutant java est lourd
'% 02d' Quel est le% de% 2?
[RSpec] Lorsque vous souhaitez utiliser la variable d'instance du contrôleur dans le test [attribuer n'est pas recommandé]
[Rails] À propos de l'erreur selon laquelle l'image n'est pas affichée dans l'environnement de production
[Erreur] Concernant rbenv: ruby 2.5.1 n'est pas installé ot ~ lors de l'exécution du déploiement automatique
Comment contraindre l'action de la destination de transition lorsqu'elle n'est pas connectée
Lorsque le formulaire tel que Select of Materialize ne fonctionne pas correctement
Java / Kotlin: Calculez le quotient en spécifiant le nombre de nombres valides lorsqu'il n'est pas divisible par la division (division) de BigDecimal.
Comment résoudre l'erreur'ActionView :: Template :: Error (L'actif "application.css" n'est pas présent dans le pipeline d'actifs. '"Lors de la précompilation d'actifs Rails
[Rails] Annoter n'est pas exécuté lors de la migration
Qu'est-ce qu'un test? ・ À propos de l'importance d'un test
[Ruby] Coupez le contenu des publicités Twitter
Quelle est la structure des données d'ActionText?
Possibilité lors du déploiement sur EC2 mais rien n'est affiché dans le journal des erreurs
Erreur [Thymeleaf & Spring] causée par le fait de ne pas mettre / à la fin de la balise Meta
[Grails] Une erreur s'est produite lors de l'exécution Que faire lorsque la CLI Grails ne démarre pas
Upcast (Java) qui peut réduire la quantité de changement lorsque la spécification est modifiée
[API Twitter] Contre-mesures lorsque "Ce n'est pas sûr" apparaît sur le site https
Comment définir quand "Le constructeur Empty () n'est pas visible" se produit dans junit
Est-il courant de ne pas écrire la balise de fermeture de la balise <P> dans Javadoc?
La cause n'est pas visible lors de l'appel de méthodes d'autres classes en java
[Java] Calculer le jour à partir de la date (ne pas utiliser la classe Calendar)
Lors du changement du contrôleur de Spring Web MVC en kotlin, @Autowired Le composant spécifié n'est pas injecté et devient nul
Lors de l'affichage d'un message avec le validateur personnalisé de JSF, la classe d'erreur de h: message n'est pas appliquée à moins que SEVERITY_ERROR ne soit défini dans le message.