2

Je suis relativement nouveau à Rails, et ai programmé quelques mois. J'essaie d'utiliser la méthode t() pour l'internationalisation, mais cela ne semble pas fonctionner quand je demande une confirmation dans un link_to.Comment faire pour confirmer le message i18n compatible

Par exemple, quand j'écris

<%= link_to t(".delete_student_info"), 
     @student, 
     method: :delete, 
     confirm: "child_deletion_confirmation" 
    %> 

... Je reçois un link_to on pouvait s'y attendre qui fonctionne et pose la question de confirmation

Cependant, quand j'écris

<%= link_to t(".delete_student_info"), 
     @student, 
     method: :delete, 
     confirm: t(".child_deletion_confirmation") 
    %> 

. ..J'obtiens la sortie suivante

Suppression enfant Confirmation » données method = "supprimer" href = "/ fr/student_profiles/41" rel = "nofollow"> Supprimer Infos étudiants

Y at-il quelque chose conceptuel que je suis absent? J'ai regardé dans l'API Rails Guides Rails i18n, mais cela ne résout pas ce problème. Je pense que peut-être le confirmer: est quelque chose de différent, mais je ne sais pas comment le rechercher. Des idées?

+0

Pouvez-vous ajouter votre version Rails spécifique dans les balises? Je suppose que c'est Rails 3.2? – pdobb

Répondre

4

J'ai essayé sur mes Rails 4 console et il a bien fonctionné:

helper.link_to "Visit Other Site", "http://www.rubyonrails.org/", data: { confirm: I18n.t("date.formats.default") } 
# => "<a data-confirm=\"%Y-%m-%d\" href=\"http://www.rubyonrails.org/\">Visit Other Site</a>"`. 

Maintenant, notez le comportement lors de l'utilisation nil pour la :confirm est comme ce que vous voyez:

helper.link_to "Visit Other Site", "http://www.rubyonrails.org/", data: { confirm: nil } 
# => "<a href=\"http://www.rubyonrails.org/\">Visit Other Site</a>" 

Donc, cela me fait penser que votre traduction évalue à nil. Cependant, je ne peux pas sembler comprendre comment reproduire ce problème ...

Je vais développer cette réponse pour essayer d'aider plus si vous pouvez montrer à quoi ressemble le fichier de traductions?

+0

Mise à jour de ma réponse pour refléter la syntaxe de Rails 4. (L'option 'confirm' devrait faire partie du hachage' data' maintenant.) – pdobb

+0

Merci. Cela fonctionne parfaitement! Je n'ai actuellement rien dans le fichier de traduction, donc la confirmation que je reçois dit effectivement "traduction manquante" mais c'est ok ... Je l'ajouterai plus tard. – jplisamaria

Questions connexes