В Ruby on Rails метод, определенный в представлении, не может переопределить вспомогательный метод? - PullRequest
1 голос
/ 20 января 2011

У меня есть метод отладки, который может распечатать некоторую отладочную информацию, и этот метод отладки определен в application_helper.rb Чтобы отключить этот метод, чтобы не выводить отладочную информацию для этого файла, я добавил

def debugp; return nil; end

в файле представления, в котором используется исходный debugp ... но кажется, что это новое определение не может переопределить исходное определение debugp (поскольку отладочная информация все еще выводится на печать).Есть ли способ переопределить это?Существуют и другие способы отключить печать, но я бы хотел узнать часть о переопределении метода в помощнике приложения.Спасибо.

1 Ответ

1 голос
/ 20 января 2011

Вы не можете переопределить метод в файле представления, однако вы можете переопределить его в соответствующем помощнике - если бы вы использовали генератор Rails для генерации вашего контроллера, то он бы тоже создал помощника, например, "" Контроллер людей "будет иметь эти файлы:

  • приложение / контроллеры / people_controller.rb
  • приложение / просмотров / люди / *. Html.erb
  • приложение / хелперы / people_helper.rb

Чтобы переопределить вспомогательный метод из помощника приложения, поместите определение вспомогательного метода не в представление, а в помощник:

module PeopleHelper
  def debugp; return nil; end
end

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...