2

我对Rails比较陌生,并且已经编程了几个月。如何使i18n兼容确认信息

我正在尝试使用t()方法进行国际化,但当我要求在link_to中进行确认时,它似乎无法正常工作。

例如,当我写

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

...我可以预见得到的作品,并要求确认问题

然而一个的link_to,当我写

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

。 ..我得到以下输出

儿童删除确认”数据方法= “删除的” href = “/ EN/student_profiles/41” 相对= “nofollow”>删除学生信息

有什么概念,我很想念?我看过Rails指南Rails i18n API,但它没有解决这个问题。我想,也许确认:是不同的,但我不知道如何查看它。有任何想法吗?

+0

您可以在标签中添加特定的Rails版本吗?我认为它是Rails 3.2? – pdobb

回答

4

我想这一点对我的Rails 4控制台,它工作得很好:

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>"`. 

现在,使用nil:confirm时要注意的行为是喜欢你所看到的:

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

所以这让我觉得你的翻译不知何故正在评估为nil。然而,我似乎无法弄清楚如何复制这个问题...

我会扩大这个答案,试图帮助更多,如果你能显示翻译文件的样子?

+0

更新了我的答案以反映Rails 4语法。 ('confirm'选项现在应该是'data'哈希的一部分。) – pdobb

+0

谢谢。这完美的作品!我实际上还没有翻译文件中的任何内容,所以我确实得到的确认是“翻译缺失”,但没关系......我将在稍后添加它。 – jplisamaria