¿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
)
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
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