微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在正在清理的YML文件中使用link_to帮助程序?

如何解决如何在正在清理的YML文件中使用link_to帮助程序?

我的locales.yml文件中有使用link_to助手的密钥。

payment_types:
   credit_card: "Requires bank authorization. <%= link_to 'Tutorial','www.linktotutorial.com',target: '_blank' %>"

以前,我们使用的标签中带有href以及sanitize,如下所示:

sanitize(t("payment_types.#{payment_type}"),tags: %w(a),attributes: %w(target href)),payment_type

但是我必须重构它才能使用link_to帮助器。

问题在于,消毒已一起过滤erb标签(“需要银行授权”之后什么也没有出现),我找不到允许erb标签并呈现{ {1}}正确。 另一方面,要消除卫生,则将包含link_to标签的字符串呈现出来。

yml文件中甚至允许erb标签吗?

解决方法

要解析该ERB标签,您可以创建诸如locales.yml.erb之类的内容
但是再次要检查Rails是否在内部解析ERB yml会很麻烦。
即使正在解析,link_to helper还是可用。


相反,我建议一种简单的方法:

# locales.yml
payment_types:
   credit_card_html: "Requires bank authorization. %{titorial_link}"
# Usage in views
= t("payment_types.#{payment_type}_html",tutorial_link: link_to('Tutorial','www.linktotutorial.com',target: '_blank'))

请注意后缀_html。用于HTML安全翻译。
详细了解HTML安全翻译here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。