【问题标题】:i18n HTML escaping not workingi18n HTML转义不起作用
【发布时间】:2016-09-29 15:09:10
【问题描述】:

根据 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。 提前致谢!

【问题讨论】:

  • 你试过I18n.t('breadcrumbs.root.html')吗(也可以将root_html:改成root:)?

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


【解决方案1】:

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

自动转换为 HTML 安全的翻译文本只能通过翻译视图辅助方法实现。

由于我尝试在控制器中准备链接并通过 gem 将其传递给视图,所以这不起作用。

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

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

如果您找到其他解决方案,请联系我!

【讨论】:

  • 这里也一样。我也不知道 I18n.t(:my_html) 和视图助手 t(:my_html) 之间有什么区别,谢谢这个提示!
  • 它对我有用
猜你喜欢
  • 1970-01-01
  • 2012-06-29
  • 1970-01-01
  • 2011-09-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-29
  • 1970-01-01
相关资源
最近更新 更多