我正在为 rails 应用程序中的国际化创建语言环境文件,并且有一个我想要翻译的包含标签的 url,例如
html.erb
<%= t(foo.bar.xxxx) %>
.yml 文件
foo: bar: xxxx: "xxxx"
结果
< ;a href= "/info/index.html"> ;xxxx</a> ;
这打破了我的链接。我在 ruby 部分没有 h,所以这不应该工作吗?
或者我应该在 yml 文件中没有 html 标签?
Rails 版本是 3.0.1
Ruby 版本是 1.8.7 p249
最佳答案
您的 HTML YAML key 需要有 _html
后缀:
foo:
bar:
xxxx_html: "<strong>Some HTML Here</strong>"
这样做 Rails 会将字符串标记为
html_safe
并将呈现 HTML 而不是将其转换为 >
和 <
.您还需要使用完整的键名来引用它,当您调用
xxxx
时,Rails 不会自动看到 _html 后缀。 .<%= t 'foo.bar.xxxx_html' %>
关于ruby-on-rails - i18n 在 Ruby on Rails 上, < 和 > 被替换为 > ; <不打算的时候,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3989337/