[JAVA] Est-ce une perte si vous ne savez pas? Rails [Super] 5 sélections pour trouver des erreurs d'erreur pour échapper aux débutants

introduction

Même pour des erreurs telles que "Vous pouvez comprendre en lisant le message d'erreur!" </ B>, lorsque vous êtes un super débutant, vous pouvez compter sur les professeurs de Google pour le moment. Cet article est un article sur la façon de traiter une certaine erreur écrite pour un tel "Je vais copier et coller le message d'erreur pour le moment" </ B> niveau Ruby on Rails super débutant.

Exemple 1: la localisation japonaise du message d'erreur ne fonctionne pas ... (NoMethodError (méthode non définie `deep_symbolize_keys ')

Traduisons le message d'erreur en japonais en utilisant I18n!

Référence: Localisation japonaise utilisant I18n avec Rails

Bien! J'ai défini le fichier japonais téléchargé à partir du Web

ja.yml



ja:
activerecord:
errors:
messages:
record_invalid: "Validation échouée: %{errors}"
restrict_dependent_destroy:
has_one: "%{record}Ne peut pas être supprimé car il existe"
has_many: "%{record}Ne peut pas être supprimé car il existe"

cette? D'une manière ou d'une autre, il y a une erreur ...

NoMethodError (undefined method `deep_symbolize_keys' for "Chaîne":String):

Que voulez-vous dire?

Cause d'erreur

L'indentation dans config> locales> ja.yml est incorrecte et i18n n'est pas traduit correctement.

Résolution d'erreur

La description correcte consiste à abaisser le retrait de deux espaces de demi-largeur pour chaque élément. Si vous copiez et collez, le retrait peut se déplacer, alors téléchargez le fichier avec la commande et placez-le sous le dossier config> locales.

#Téléchargez le modèle de fichier de traduction en japonais
wget https://raw.github.com/svenfuchs/rails-i18n/master/rails/locale/ja.yml -P config/locales/
ja:
  activerecord:
    errors:
      messages:
        record_invalid: "Validation échouée: %{errors}"
        restrict_dependent_destroy:
          has_one: "%{record}Ne peut pas être supprimé car il existe"
          has_many: "%{record}Ne peut pas être supprimé car il existe"

référence

[NoMethodError (méthode non définie `deep_symbolize_keys 'pour" Hello ": String):](https://github.com/2016chubachi/tabitomo/wiki/NoMethodError- (undefined-method-% 60deep_symbolize_keys% 27-pour-% 22% E3 % 81% 93% E3% 82% 93% E3% 81% AB% E3% 81% A1% E3% 81% AF% 22: Chaîne) :)

Le message d'erreur étant affiché en anglais selon la norme Ruby on Rails, il doit être traduit en japonais afin que l'utilisateur puisse le comprendre facilement.

Comment faire une localisation japonaise avec Rails

Message d'erreur de validation de la localisation japonaise de Rails --Qiita

Exemple 2: La vue chargée avec Partiel n'est pas affichée ... (Partiel manquant)

J'essaye de lire _comment.html.erb sous les commentaires de posts / index.html.erb.

Structure des dossiers

app
 - views
    - posts
        - index.html.erb
    - comments
        - _comment.html.erb

ruby:posts/index.heml.erb


  <%= render partial: "comment" %>

cette? Une erreur…

Missing partial xxx/_yyy, application/_yyy with {:locale=>[:ja], :formats=>[:html], :variants=>[], :handlers=>[:raw, :erb, :html, :builder, :ruby, :coffee, :jbuilder]}.

Cause d'erreur

Le chemin de la vue partielle n'est pas spécifié correctement.

Solution

Lors du rendu (lecture) d'une vue partielle, spécifiez le chemin avec le nom du dossier / le nom de la vue. </ b>

ruby:posts/index.heml.erb


  <%= render partial: "comments/comment" %>

Je n'ai pas spécifié la hiérarchie des dossiers, donc je n'ai pas pu la lire.

Exemple 3: La vue ne peut pas être affichée même après les rails s ... (il manque un modèle pour ce format de demande et cette variante.)

<Nom du contrôleur>Controller#<Nom de l'action> is missing a template for this request format and variant. request.formats: ["text/html"] request.variant: []

Cause d'erreur

Il n'y a pas de vue correspondant à l'action du contrôleur

Solution

app> vues> Créez "action name.html.erb" sous le dossier du nom du contrôleur

  • L'extension dépend du format applicable tel que .slim et .haml

Exemple 4: Le code doit être correct, mais le programme ne peut pas être exécuté ... (variable locale ou méthode non définie ``)

undefined local variable or method ` ' for #<xxxxx> (NameError)

Qu'est-ce qui ne va pas ...

ruby:posts/index.html.erb


   <%= render partial: "comment" %>

Cause d'erreur

En fait, un espace pleine largeur est inclus dans le fichier.

Solution

Supprimez l'espace pleine largeur. Vous permet de trouver des espaces pleine largeur dans les paramètres IDE.

référence

Que faire lorsque ActionController :: RoutingError apparaît soudainement dans l'application rails après réparation

Exemple 5: JavaScript ne se charge pas correctement ... (ExecJS :: RuntimeError unclosed regex)

Les erreurs de rails ne dépendent pas toujours de Ruby.

ExecJS::RuntimeError in Controller#Action
SyntaxError: missing / (unclosed regex)

Qu'est-ce qu'une expression régulière non fermée ...?

Cause d'erreur

La description du fichier app> assets> javascripts> .coffee est incorrecte. (Le bloc de codage n'est pas fermé, comme {}) Par conséquent, la partie où la feuille de style est lue dans la vue (application.html.erb) est une erreur.

ruby:apps/view/layouts/application.html.erb


  <%= stylesheet_link_tag 'application', media: 'all' %>

Solution

Passez en revue la description du fichier café. Supprimez les pièces inutiles.

référence

Weird error "missing / (unclosed regex)"

Résumé

Comment était-ce? C'était trop facile pour les ingénieurs de Tsuyotsuyo!

Il est bon de google pour le moment, mais même si vous essayez de décomposer ce que le message d'erreur dit une fois, vous pouvez passer d'un super débutant. Nous soutenons votre étude de programmation!

Recommended Posts