我创建了一个允许用户输入大量不同数据(帖子,评论等)的应用程序。 simple_format对我来说现在很好,我只是想防止疯狂的东西。在阅读一些指南之前和之后我没有使用过sanitize我仍然对如何实现有点困惑。希望我能在这里找到一些方向。
假设我正在收集@ post.body。如何删除任何<div
&gt;可能由用户输入的标签或<script>
标签?我假设在视图中它看起来像这样:
<%= sanatize(simple_format @post.body) %>
...但是我在哪里定义哪些标签不被允许?在Post模型中还是在sanitize_helper中?这里的语法是什么?
答案 0 :(得分:3)
以下是Rails 2.3.8中sanitize方法的文档链接。考虑到这一点,您将能够以这种方式定义允许的标签:
<%= sanitize(simple_format(@post.body), :tags => %w(p span strong)) %>
请注意,您也可以在Rails Initializer中定义它们:
Rails::Initializer.run do |config|
config.action_view.sanitized_allowed_tags = 'table', 'tr', 'td'
end
我希望你觉得这很有用!