Estou escrevendo um modelo que lida com a entrada do usuário de uma área de texto. Seguindo o conselho de http://blog.caboo.se/articles/2008/8/25/sanitize-your-users-html-input , estou limpando a entrada no modelo antes de salvar no banco de dados, usando o before_validate ligue de volta.
As partes relevantes do meu modelo são assim:
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
Desnecessário dizer que isso não funciona. Recebo o seguinte erro quando tento salvar uma nova postagem.
undefined method `white_list_sanitizer' for #<Class:0xdeadbeef>
Aparentemente, SanitizeHelper cria uma instância de HTML :: WhiteListSanitizer, mas quando eu misturo em meu modelo, ele não consegue encontrar HTML :: WhiteListSanitizer. Por quê? O que posso fazer para corrigir isso?