Обычно вы не вызываете методы контроллера из помощников. То есть: если вы имеете в виду метод, который собирает данные и затем отображает представление (любой другой метод, который необходимо вызвать, вероятно, не должен находиться в контроллере).
Это определенно плохая практика и ломает MVC .
Однако вполне возможно сделать методы контроллера доступными в представлениях. Отличным примером является, например, метод current_user
.
Чтобы сделать метод контроллера доступным в представлениях, в качестве вспомогательного метода просто выполните
private
def current_user
# do something sensible here
@current_user ||= session[:user]
end
helper_method :current_user
Такой метод лучше всего определен в разделе private
, или он может быть доступен как действие (если в маршрутизации используется подстановочный знак).