我正在rails应用程序中创建国际化的语言环境文件,并且有一个我想要翻译的URL,例如包含标签
html.erb
<%= t(foo.bar.xxxx)%>
yml文件
foo:bar:xxxx:“xxxx”
结果
&lt; a href =“/ info / index.html”&gt; xxxx </ a&gt;
这打破了我的链接 . 我没有红宝石部分,所以不应该这样吗?或者我应该在yml文件中没有html标签?
Rails版本是3.0.1 Ruby版本是1.8.7 p249
2 回答
您的HTML YAML密钥需要
_html
后缀:执行此Rails将标记字符串
html_safe
并将呈现HTML而不是将其转换为>
和<
.您还需要使用完整的密钥名称来引用它,当您调用
xxxx
时,Rails不会自动看到_html后缀 .Rails通过防止模型数据显示为实际标记来防止注入攻击 . 原始函数阻止了转换 .
是否
工作?