ruby-on-rails-4
  • rails-i18n
  • 2016-09-29 31 views 1 likes 
    1

    根据Ruby on Rails指南(http://guides.rubyonrails.org/i18n.html#using-safe-html-translations),我需要做的是在不调用html_safe的情况下呈现我的翻译,其关键名称以_html结尾。这是我的尝试:i18n HTML转义不起作用

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

    调用它像这样:

    I18n.t('breadcrumbs.root_html') 
    

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

    使用Ruby on Rails 4.2.1。 在此先感谢!

    +0

    您是否尝试过'I18n.t('breadcrumbs.root.html')'(也可能随着将'root_html:'更改为'root:')? –

    回答

    2

    指南中向下滚动远一点我发现这个问题:

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

    由于我试图准备好我的控制器内部的链接,并将它通过一个gem传递给视图,这是行不通的。

    为了使这项工作,你必须呼吁串html_safe,就像这样:

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

    如果您发现另一种解决方案,打我!

    +0

    同样在这里。我不知道I18n.t(:my_html)和view helper t(:my_html)之间是否有区别,thx对于这个提示! – ToniTornado

    相关问题