i18n HTML逃避无法正常工作

时间:2016-09-29 15:09:10

标签: ruby-on-rails-4 rails-i18n

根据Ruby on Rails指南(http://guides.rubyonrails.org/i18n.html#using-safe-html-translations),我需要做的就是在不调用html_safe的情况下呈现我的翻译,就是让密钥名称以_html结尾。这就是我试过的:

en:
  breadcrumbs:
    root_html: "<i class='material-icons'>home</i>"

这样称呼:

I18n.t('breadcrumbs.root_html')

导致输出是我在翻译中定义的字符串,而不是呈现的HTML。 我做错了什么?

使用Ruby on Rails 4.2.1。 提前谢谢!

1 个答案:

答案 0 :(得分:2)

在指南中向下滚动一点我发现了问题:

  

只能从翻译视图助手方法中自动转换为HTML安全翻译文本。

由于我尝试在控制器中准备链接并将其通过gem传递给视图,因此无效。

要完成这项工作,您必须在字符串上调用html_safe,如下所示:

I18n.t('breadcrumbs.root_html').html_safe

如果你找到另一个解决方案,请打我!