我对Rails相对较新,并且已经编程了几个月。
我尝试使用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")
%>
...我得到以下输出
儿童删除确认&#34;数据方法=&#34;删除&#34; HREF =&#34; / EN / student_profiles / 41&#34; rel =&#34; nofollow&#34;&gt;删除学生信息
我缺少一些概念性的东西吗?我已经查看了Rails Guides Rails i18n API,但它没有解决这个问题。我认为可能是确认:有些不同,但我不知道如何查找。有什么想法吗?
答案 0 :(得分: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
。但是,我似乎无法弄清楚如何复制该问题...
如果您能够展示翻译文件的样子,我会扩展此答案以尝试提供更多帮助吗?