Controller helper_method

Мне было интересно, почему кто-то должен использовать helper_method внутри контроллера для создания вспомогательного метода вместо создания «обычного» способа, который находится внутри вспомогательного файла. Каковы плюсы и минусы этого?

43
задан JohnDel 23 August 2010 в 16:43
поделиться

1 ответ

helper_method полезен, когда функциональность используется как между контроллером, так и вид. Хороший пример - что-то вроде current_user .

Если метод больше связан с логикой контроллера, а не с форматированием, то он принадлежит контроллеру. Что-то вроде current_user будет совместно использоваться всеми контроллерами, поэтому оно должно быть определено в ApplicationController .

Истинные «вспомогательные» методы имеют дело с представлением и обрабатывают такие вещи, как форматирование и логику шаблона. Они редко нужны в контроллере и принадлежат отдельному модулю в app / helpers. Вы можете включить их в свой контроллер, когда это необходимо, но в итоге вы получите весь модуль вспомогательных методов представления, доступных вашему контроллеру.

82
ответ дан 26 November 2019 в 22:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: