在 Rails 翻译文件中使用 HTML
我的 Rails 应用程序 (config/locale/[en|de].yml) 中有一些翻译,我在视图中使用 <%=t "teasers.welcome" %>
来使用它。示例:
teasers:
welcome: "<strong>Welcome</strong> to the Website ..."
在 Rails 2.3.8 中,这工作得很好,在 Rails 3 中,HTML 被转义并转换为 <
... 我怎样才能阻止这种形式的这种转换并在我的中使用 HTML像 Rails 2.3.8 中那样的翻译文件?
I have some translations in my Rails application (config/locale/[en|de].yml) and I use it in my views with <%=t "teasers.welcome" %>
. Example:
teasers:
welcome: "<strong>Welcome</strong> to the Website ..."
In Rails 2.3.8 this works just fine, with Rails 3, the HTML is escaped and translated to <
... How can I prevent this form this translation and use HTML in my translation files like in Rails 2.3.8?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
除了使用
raw
之外,还有其他未记录的(但官方的)方法可以做到这一点。所有以
_html
结尾的键都会自动呈现为未转义。将密钥从重命名
为
Other than using
raw
, there's an other undocumented (but official) way to do so.All keys ending with
_html
are automatically rendered unescaped.Rename the key from
to
我想这是因为
在 Rails 2.x 中执行的操作相当于
使用 Rails 3 时
执行的操作。来自 发行说明:
要解决此问题,请再次从发行说明中获取:
所以只需替换
为
I suppose it's because doing
in rails 2.x, now is the equivalent of doing
when you're using rails 3.
From the release notes:
To fix this, and once again from the release notes:
So just replace
by