Метод helper_method
полягає в тому, щоб явно ділитися деякими методами, визначеними в контролері, щоб зробити їх доступними для перегляду. Це використовується для будь-якого методу, до якого потрібно отримати доступ як з контролерів, так і з помічників / поглядів (стандартні допоміжні методи не доступні в контролерах). наприклад, звичайний випадок використання:
#application_controller.rb
def current_user
@current_user ||= User.find_by_id!(session[:user_id])
end
helper_method :current_user
helper
метод з іншого боку, для імпорту всієї помічниці поглядів , що надаються контролером (і це успадковується контролери). Що це означає, що робить
# application_controller.rb
helper :all
Для рейок> 3.1
# application.rb
config.action_controller.include_all_helpers = true
# This is the default anyway, but worth knowing how to turn it off
робить усі допоміжні модулі доступними для всіх представлень даних (принаймні для всіх контролерів, що успадковуються від application_controller.
# home_controller.rb
helper UserHelper
робить доступними для UserHelper методи перегляду для дій домашнього контролера. Це еквівалентно виконанню:
# HomeHelper
include UserHelper