ruby-on-rails-4
  • rails-i18n
  • 2016-09-29 61 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

    相關問題