Sto scrivendo un modello che gestisce l'input dell'utente da un'area di testo. Seguendo il consiglio di http://blog.caboo.se/articles/2008/8/25/sanitize-your-users-html-input , sto ripulendo l'input nel modello prima di salvare nel database, utilizzando before_validate richiama.
Le parti rilevanti del mio modello hanno questo aspetto:
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
Inutile dire che questo non funziona. Ricevo il seguente errore quando provo a salvare un nuovo post.
undefined method `white_list_sanitizer' for #<Class:0xdeadbeef>
Apparentemente, SanitizeHelper crea un'istanza di HTML :: WhiteListSanitizer, ma quando lo mischio nel mio modello non riesce a trovare HTML :: WhiteListSanitizer. Perché? Cosa posso fare per risolverlo?