6

Rails 3 を使用しています。I18n に、補間で使用される文字列の「html 安全性」を尊重し、すべての翻訳済み文字列をデフォルトで html 安全にするように指示する簡単な方法はありますか? だから私はこれを持っている場合en.yml:

en:
  user_with_name: 'User with name <em>%{name}</em>'

を使用するt('user_with_name', :name => @user.name)と、ユーザー名の html がエスケープされますが、そのままに<em>なり</em>ますか?

4

3 に答える 3

6
于 2012-04-27T11:01:57.730 に答える
5

名前を から に変更するuser_with_nameuser_with_name_html、テキストに html が含まれていることがレールに認識されます。

于 2011-04-01T11:41:34.450 に答える
2

古い質問ですが、誰かがこれを達成したい場合は、私が思いついたモンキーパッチを次に示します。

module ActionView
  module Helpers
    module TranslationHelper
      private
      def html_safe_translation_key?(key)
        true
      end
    end
  end
end

これをイニシャライザに入れてください。Rails 3.2.6 で動作します。補間パラメータではなく、ローカリゼーション ファイル内のテキストのみを安全としてマークします。

于 2012-07-27T12:44:02.750 に答える