La méthode helper_method
consiste à partager explicitement certaines méthodes définies dans le contrôleur afin de les rendre disponibles pour la vue. Ceci est utilisé pour toute méthode à laquelle vous devez accéder à la fois depuis les contrôleurs et les aides/vues (les méthodes d'aide standard ne sont pas disponibles dans les contrôleurs). Par exemple, cas d'utilisation courant :
#application_controller.rb
def current_user
@current_user ||= User.find_by_id!(session[:user_id])
end
helper_method :current_user
le site helper
d'autre part, permet d'importer une aide complète pour les vues fournies par le contrôleur (et les contrôleurs dont il a hérité). Cela signifie qu'il faut faire
# application_controller.rb
helper :all
Pour Rails > 3.1
# application.rb
config.action_controller.include_all_helpers = true
# This is the default anyway, but worth knowing how to turn it off
rend tous les modules d'aide disponibles pour toutes les vues (au moins pour tous les contrôleurs héritant de application_controller.
# home_controller.rb
helper UserHelper
met les méthodes du UserHelper à la disposition des vues pour les actions du contrôleur d'accueil. Ceci est équivalent à faire :
# HomeHelper
include UserHelper