2010-11-18 49 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