2010-08-23 12 views
43

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

Respuesta

81

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 trata más con la lógica del controlador y no con el formato, entonces pertenece al controlador. Algo como current_user se compartiría entre todos los controladores, por lo que debería definirse en el 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.

Cuestiones relacionadas