2010-11-18 112 views
0

我创建了一个应用程序,允许用户输入大量不同的数据(帖子,评论等)。 simple_format对我来说很好,现在我只是想防止疯狂的东西。在阅读一些指南之前和之后,我还没有使用过清洁技术,但我仍然对如何实施有些困惑。希望我能在这里找到一些方向。在rails中实现sanitize simple_format 2.3.8

假设我正在收集@ post.body。如何删除可能由用户输入的任何<div>标签或<script>标签?我假设,在视图中它会是这个样子:

<%= sanatize(simple_format @post.body) %> 

...但我在哪里定义标签不准什么?在Post模型中还是在sanitize_helper中?这里的正确语法是什么?

+0

“sanatize”错字很搞笑哈哈! ;) – jpemberthy 2010-11-18 20:39:19

回答

3

下面是Rails 2.3.8中sanitize方法的文档链接。考虑到这一点,你就可以用这种方式来定义允许的标签:

<%= sanitize(simple_format(@post.body), :tags => %w(p span strong)) %> 

请注意,您也可以将它们定义Rails的初始化器内:

Rails::Initializer.run do |config| 
    config.action_view.sanitized_allowed_tags = 'table', 'tr', 'td' 
    end 

我希望对您有所帮助!

+0

这正是我所期待的。谢谢。 – bgadoci 2010-11-18 21:34:42