【发布时间】:2013-06-28 23:49:06
【问题描述】:
根据 ruby docs,translate(或t)助手委托给I18n#translate,但还执行几个附加功能,其中包括:有后缀_html"。
我希望它应该在视图和控制器中同样工作,但根据我的经验,它不会:t(:hello_html) 在视图中确实可以正常工作(将翻译标记为 html_safe),但它没有标记从控制器调用时,结果是安全的 html。
要重现该问题,您可以将 hello_html: '<i>Hello world</i>' 添加到您的 locales/en.yml 和 flash.now[:notice] = t(:hello_html) 到任何控制器的任何方便操作中。对我来说,这导致在 Flash 消息区域中出现转义的 html 标记,这对我来说是一个意外的结果。
我的问题是:
- 还有其他人经历过或能够重现此问题吗?
- 它是什么:rails 错误、功能或只是我的项目独特的“奇怪”?
- 有什么简单的方法可以解决这个问题吗?
(在轨道 3.2.11 和 3.2.13 中测试)
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 internationalization