Как я настраиваю метод, который я хочу доступный от всех контроллеров?
Прикрепление метода в application_helper просто делает это доступным для представлений
Вы можете включить ApplicationHelper
в свои контроллеры (или базовый ApplicationController), чтобы сделать вспомогательные методы доступными.
Вы также можете включить следующую строку в свой ApplicationController, чтобы включить всех помощников:
helper :all
Вставьте его в lib
. Помощники предназначены для использования в представлениях; если у вас есть библиотеки для конкретного приложения (и под «библиотеками» я подразумеваю любой код, который использует ваше приложение, а под «специфическим для приложения» все, что не принадлежит поставщику
), lib
- это то место, куда можно пойти.
Вы можете добавить метод в ApplicationController
. Все остальные контроллеры будут подклассом ApplicationController
, поэтому смогут вызывать этот метод.
Вы захотите сделать метод protected
, чтобы он был виден только подклассам и не был доступен как веб-доступное действие.