テキスト領域からのユーザー入力を処理するモデルを作成しています。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 が見つかりません。なんで?これを修正するにはどうすればよいですか?