मैं एक मॉडल लिख रहा हूं जो टेक्स्ट क्षेत्र से उपयोगकर्ता इनपुट को संभालता है। Http://blog.caboo.se/articles/2008/8/25/sanitize-your-users-html-input से सलाह के बाद , मैं डेटाबेस में बचत से पहले मॉडल में इनपुट को साफ कर रहा हूं, पहले_का उपयोग करके वापस कॉल करें।
मेरे मॉडल के प्रासंगिक भाग इस तरह दिखते हैं:
include ActionView::Helpers::SanitizeHelper
class Post < ActiveRecord::Base {
before_validation :clean_input
...
protected
def clean_input
self.input = sanitize(self.input, :tags => %w(b i u))
end
end
कहने की जरूरत नहीं है, यह काम नहीं करता है। जब मैं कोशिश करता हूं और नई पोस्ट को सहेजता हूं तो मुझे निम्न त्रुटि मिलती है।
undefined method `white_list_sanitizer' for #<Class:0xdeadbeef>
जाहिर है, SanitizeHelper HTML का एक उदाहरण बनाता है :: WhiteListSanitizer, लेकिन जब मैं इसे अपने मॉडल में मिलाता हूं तो यह HTML :: WhiteListSanitizer नहीं मिल सकता है। क्यों? इसे ठीक करने के लिए मैं इसके बारे में क्या कर सकता हूं?