Подтвердить что ты не робот

Использование санитарии в контроллере Rails

Я пытаюсь вызвать sanitize внутри контроллера. Вот что я пробовал:

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

Однако я получаю эту ошибку:

undefined method `white_list_sanitizer' for FooController:Class

Я обыскал, и люди рекомендовали включить строку include, чтобы включить ActionView::Helpers, но это приводит к этой ошибке:

undefined method `url_for' for nil:NilClass

Каков правильный способ вызова sanitize? Я использую Rails 2.3.5.

4b9b3361

Ответ 1

вы можете использовать этот метод ActionController::Base.helpers внутри действия:

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

Надеюсь, что это поможет

Ответ 2

Я не уверен, что вы пытаетесь сделать здесь, но я почти на 100% уверен, что он не принадлежит контроллеру.

Если вы хотите дезинфицировать атрибут, прежде чем сохранять его в БД, сделайте это в модели с обратным вызовом перед сохранением.

В противном случае выполните санитарию в шаблоне просмотра или в помощнике вида.