logo ruby-on-rails ruby-on-rails-3

ruby on rails - logo - Controlador helper_method



hbase (2)

para compartir métodos entre el controlador y la vista tiene varias opciones:

Me preguntaba por qué alguien debería usar helper_method dentro de un controlador para crear un método de ayuda, en lugar de crear la forma "normal", que está dentro del archivo auxiliar. ¿Cuáles son los pros y los contras de eso?


helper_method es útil cuando la funcionalidad es algo que se usa tanto entre el controlador como la vista. Un buen ejemplo es algo así como current_user .

Si el método se ocupa más de la lógica del controlador y no formatea, entonces pertenece al controlador. Algo así como current_user se compartiría entre todos los controladores, por lo que debería definirse en ApplicationController .

Los verdaderos métodos de "ayuda" se ocupan de la vista y manejan cosas como el formato y la lógica de la plantilla. Raramente se necesitan en el controlador y pertenecen a su propio módulo bajo la aplicación / ayudantes. Puedes incluirlos en tu controlador cuando sea necesario, pero terminas con todo el módulo que vale la pena ver en los métodos de ayuda disponibles para tu controlador.