32

sanitizeコントローラー内で呼び出そうとしています。これが私が試したことです:

class FooController < ApplicationController
  include ActionView::Helpers::SanitizeHelper
  # ...
end

ただし、次のエラーが発生します。

undefined method `white_list_sanitizer' for FooController:Class

私は周りを検索し、人々は include 行を include に切り替えることを勧めましたActionView::Helpersが、それはこのエラーになります:

undefined method `url_for' for nil:NilClass

正しい呼び方はsanitize?Rails 2.3.5 を使用しています。

4

3 に答える 3

58

ActionController::Base.helpersこれをアクションメソッド内で使用できます:

class SiteController < ApplicationController
  def index
    render :text => ActionController::Base.helpers.sanitize('<b>bold</b>')
  end
end

お役に立てれば

于 2011-05-20T20:28:31.607 に答える
-3

ここで何をしようとしているのかわかりませんが、コントローラーに属していないことはほぼ100%確信しています。

属性をDBに保存する前にサニタイズする場合は、モデルで保存前のコールバックを使用してサニタイズします。

それ以外の場合は、ビューテンプレートまたはビューヘルパーでサニタイズします。

于 2011-05-20T19:55:46.553 に答える