Je publierai le processus de progression du tutoriel sur les rails par moi-même.
Cela touche des mots que je n'ai pas compris dans le processus et des erreurs bloquées.
Veuillez signaler toute erreur car il s'agit d'un résultat d'apprentissage personnel.
Puisqu'il s'agit de mon premier article, je pense qu'il y a beaucoup d'endroits difficiles à lire, mais pardonnez-moi s'il vous plaît.
La vérification d'existence semble se faire avec: présence. Le tutoriel montre souvent un code abrégé, je vais donc le suivre moi-même jusqu'à ce que je le comprenne.
validates :name, presence: true
#Si vous mettez toutes les parenthèses
validates(:name, {presence: true}) #Le nom de la colonne à vérifier est le premier argument et le contenu à vérifier est le deuxième argument.
un problème est survenu !! Exécution du test dans l'extrait 6.13
RuntimeError: RuntimeError: database is locked
S'affiche et une erreur se produit.
Ce que j'ai essayé de résoudre
Article de référence 1 https://qiita.com/kambe0331/items/1eaf2383b39c721e7283 En référence à cet article, j'ai renommé le fichier test.sqlite3 sous le fichier db et l'ai changé en son nom d'origine.
résultat Ça ne marche pas ...
prochain
Article de référence 2 https://stackoverflow.com/questions/7154664/ruby-sqlite3busyexception-database-is-locked/62730905#62730905 Reportez-vous à cet article, fermez tous les DB Browser pour SQlite, serveur, invite, etc. une fois et recommencez.
résultat J'ai pu effacer le test.
De côté J'ai pu effacer le test temporairement, mais apparemment je n'ai pas pu le résoudre fondamentalement, et cette erreur continuera à se produire fréquemment.
La solution à l'erreur est résumée dans un autre article. https://qiita.com/shun_study_p/items/fbb4cb2d4c392063c9a9
Il semble que la vérification de la longueur se fasse avec: length.
validates :name, presence: true, length: { maximum: 50 }
#Si vous mettez des parenthèses pour une compréhension facile
validates(:name, {presence: true, length: { maximum: 50 }})
Comme auparavant, suivez vous-même les parenthèses jusqu'à ce que vous vous y habituiez.
La vérification de l'unicité semble être faite avec: l'unicité. Il semble que vous puissiez spécifier si vous voulez être sensible à la casse en utilisant l'option: case_sensitive.
case_sensitive: false
Ce faisant: nous avons ajouté une option pour rendre la valeur d'unicité unique et insensible à la casse.
un problème est survenu !! La dernière fois que j'ai fait le test des rails
Migrations are pending. To resolve this issue, run:
bin/rails db:migrate RAILS_ENV=test
Et une erreur s'est produite. J'ai eu une erreur disant que je ne pouvais pas migrer lorsque j'ai exécuté la commande affichée.
Solution Reportez-vous à l'article suivant http://kzlog.picoaccel.com/post-995/
rails db:rollback RAILS_ENV=test
rails db:migrate RAILS_ENV=test
Lorsque j'ai exécuté la commande ci-dessus, cela a bien fonctionné.
Cette fois, je suis tombé sur une petite erreur. Cependant, j'ai pu comprendre le contenu du chapitre 6.
Recommended Posts