テキスト領域からのユーザー入力を処理するモデルを書いています。http://blog.caboo.se/articles/2008/8/25/sanitize-your-users-html-inputからのアドバイスに従って、before_validateを使用して、データベースに保存する前にモデルの入力をクリーンアップしています折り返し電話。
モデルの関連部分は次のようになります。
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が見つかりません。どうして?これを修正するにはどうすればよいですか?