2016-09-29 9 views
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へ

自動変換テキスト翻訳ビューヘルパーメソッドからのみ利用可能です変換します。

私はコントローラーの中のリンクを準備し、それを宝石を通して視界に通そうとしたので、これは機能しませんでした。

あなたがそうのように、文字列のhtml_safeを呼び出す必要があります。この作業を行うには:あなたは別の解決策を見つけた場合

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

は、私を打ちます!

+0

同じです。私はI18n.t(:my_html)とビューヘルパーt(:my_html)の間に違いがあることは知らなかったが、このヒントのためにthx! – ToniTornado

関連する問題