Ответ 1
helper_method
полезен, когда функциональность - это то, что используется как между контроллером, так и с представлением. Хорошим примером является current_user
.
Если метод больше связан с логикой контроллера, а не форматированием, то он принадлежит контроллеру. Что-то вроде current_user
будет разделяться между всеми контроллерами, поэтому оно должно быть определено в ApplicationController
.
Истинные методы "помощника" относятся к представлению и обрабатывают такие вещи, как форматирование и логика шаблонов. Они редко нужны в контроллере, и они принадлежат их собственному модулю под приложением/помощниками. Вы можете включить их в свой контроллер, когда это необходимо, но в итоге вы получите доступный для вашего контроллера метод поддержки класса, доступный вашему контроллеру.