寻找SafeBuffer的覆盖

时间:2011-02-19 01:27:22

标签: ruby-on-rails-3

我在尝试将我们的一方升级到Rails 3时正在阅读Katz的Safe Buffer文章。我们有很多帮助者从我们知道安全的数据中构建相当复杂的html / css位(我们正在做的事情)像大菜单)。

不幸的是 - 如果我正在阅读Katz的文章 - 似乎你需要标记所有内容html_safe或者你被转义。

我想知道是否有人想出一个简单的黑客来在模块/方法/块级别上关闭此功能呢?我正在查看Rails中的代码来执行此操作,它看起来并不简单。

1 个答案:

答案 0 :(得分:1)

我相信你有几个“简单”的解决方案:

  1. 手动修改助手,以便他们返回html_safe'd string
  2. 迭代方法(模块?)并使用alias将它们别名为_unsafe_helper_name,然后让helper_name返回_unsafe_helper_name.html_safe
  3. 在视图中使用raw方法。在输出上调用raw会关闭Rails 3的内置保护并输出字符串,而不会转义。