Я пишу модель, яка обробляє введення користувача з текстової області. Виконуючи поради http://blog.caboo.se/articles/2008/8/25/sanitize-your-users-html-input , я очищаю вхід в моделі перед збереженням у базі даних, використовуючи попередній_валіdate зворотний дзвінок
Відповідні частини моєї моделі виглядають так:
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. Чому? Що я можу з цим зробити, щоб це виправити?