我正在尝试在控制器中调用sanitize
。这是我试过的:
class FooController < ApplicationController
include ActionView::Helpers::SanitizeHelper
# ...
end
但是,我收到了这个错误:
undefined method `white_list_sanitizer' for FooController:Class
我四处搜索,人们建议将包含行切换为包含ActionView::Helpers
,但这会导致此错误:
undefined method `url_for' for nil:NilClass
拨打sanitize
的正确方法是什么?我正在使用Rails 2.3.5。
答案 0 :(得分:42)
您可以使用此ActionController::Base.helpers
内部操作方法:
class SiteController < ApplicationController
def index
render :text => ActionController::Base.helpers.sanitize('<b>bold</b>')
end
end
希望这有帮助
答案 1 :(得分:3)
路轨6:
要从文本中删除链接(例如),只需调用:
...
Rails::Html::LinkSanitizer.new.sanitize("links here will be stripped")
...
答案 2 :(得分:-3)
我不确定你在这里尝试做什么,但我几乎100%确定它不属于控制器。
如果要在将属性保存到数据库之前清理属性,请在模型中使用之前的保存回调来执行此操作。
否则,在视图模板或视图助手中清理。