Ruby on Rails: Глобальный Вспомогательный метод для всех контроллеров

Как я настраиваю метод, который я хочу доступный от всех контроллеров?

Прикрепление метода в application_helper просто делает это доступным для представлений

20
задан DerNalia 17 June 2010 в 15:42
поделиться

3 ответа

Вы можете включить ApplicationHelper в свои контроллеры (или базовый ApplicationController), чтобы сделать вспомогательные методы доступными.

Вы также можете включить следующую строку в свой ApplicationController, чтобы включить всех помощников:

helper :all
18
ответ дан 29 November 2019 в 22:44
поделиться

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

9
ответ дан 29 November 2019 в 22:44
поделиться

Вы можете добавить метод в ApplicationController. Все остальные контроллеры будут подклассом ApplicationController, поэтому смогут вызывать этот метод.

Вы захотите сделать метод protected, чтобы он был виден только подклассам и не был доступен как веб-доступное действие.

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

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