Има ли нещо като дезинфекция за контролери?

Има ли нещо като дезинфекция за контролери?


person Luca Romagnoli    schedule 22.02.2010    source източник


Отговори (2)


Начинът, по който правя това, е следният:

# in application_controller.rb
def helpers
  Helper.instance
end

class Helper
  include ActionView::Helpers::TextHelper
  include ActionView::Helpers::SanitizeHelper
end

# in your controller
def index 
  @message = "Sanitized #{helpers.sanitize(...)}"
end

Това пространство от имена на вашите помощници в контролера, един вид, чрез разширяване на вътрешен клас. Надявам се това да помогне!

person jonnii    schedule 22.02.2010
comment
между другото, в бъдеще трябва да се опитате да добавите повече информация към въпроса си. - person jonnii; 23.02.2010
comment
Получавам следната грешка: undefined method instance' за ApplicationController::Helper:Class` Какъв може да е проблемът? - person Shripad Krishna; 22.06.2010
comment
Това може да работи за някои други помощници, но извикването на sanitize причинява грешка: „недефиниран метод white_list_sanitizer“. - person Alex Korban; 23.12.2010
comment
получих undefined method 'instance' , използвано с отговора на Yuan Cheung :) - person Milindu Sanoj Kumarage; 21.11.2012

чрез: http://www.adaruby.com/2009/12/16/how-to-use-actionview-helpers-in-your-rails-controller/

Мисля, че помощният клас трябва да бъде:

class Helper
  include Singleton
  include ActionView::Helpers::TextHelper
end
person Yuan Cheung    schedule 06.11.2010