¿Qué hacen helper y helper method?


helper_method es sencillo: hace que algunos o todos los métodos del controlador estén disponibles para la vista.

¿Qué es helper? ¿Es al revés, es decir, importa métodos auxiliares en un archivo o un módulo? (Tal vez el nombre helper y helper_method son iguales. Pueden ser share_methods_with_view y import_methods_from_view)

Referencia

Author: sawa, 2010-10-22

1 answers

El método helper_method es compartir explícitamente algunos métodos definidos en el controlador para que estén disponibles para la vista. Esto se usa para cualquier método al que necesite acceder desde controladores y helpers/views (los métodos helper estándar no están disponibles en controladores). por ejemplo, caso de uso común:

#application_controller.rb
def current_user
  @current_user ||= User.find_by_id!(session[:user_id])
end
helper_method :current_user

El método helper por otro lado, es para importar un helper completo a las vistas proporcionadas por el controlador (y sus controladores heredados). Lo que esto significa es haciendo

# application_controller.rb
helper :all

Para Carriles > 3.1

# application.rb
config.action_controller.include_all_helpers = true
# This is the default anyway, but worth knowing how to turn it off

Hace que todos los módulos auxiliares estén disponibles para todas las vistas (al menos para todos los controladores heredados de application_controller.

# home_controller.rb
helper UserHelper

Hace que los métodos UserHelper estén disponibles para las vistas para las acciones del controlador home. Esto es equivalente a hacer:

# HomeHelper
include UserHelper
 270
Author: Jeremy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-02-24 12:51:21