Navegando un poco sobre como emplear correctamente los controladores “buenas practicas” encontré esto:
Se deberán aplicar los principios de diseño orientado a objetos normales
-
Si el código es realmente un conjunto de utilidades que no necesitan tener acceso a objeto de estado, consideraría ponerlo en un módulo que se llama por separado. Por ejemplo, si el código es todas las utilidades de mapeo, cree un módulo Maps, y acceda a los métodos
-
Si el código necesita estado y se usa o podría usarse en cada controlador, coloque el código en ApplicationController.
-
Si el código necesita estado y se usa en un subconjunto de todos los controladores lógicamente relacionados, cree una clase base (class MapController < ApplicationController) y coloque allí el código compartido.
-
Si el código necesita estado y se usa en un subconjunto de todos los controladores que no están muy relacionados, colóquelo en un módulo e inclúyalo en los controladores necesarios.
En el caso, cuando los métodos necesitan estado (params), la elección dependerá de la relación lógica entre los controladores que lo necesitan. -
Use parciales cuando sea posible para el código repetido y, o bien el lugar en un directorio común ‘parciales’ o incluir a través de una ruta específica.
Mantenga un enfoque RESTful cuando sea posible (para los métodos) y si cree que está creando una gran cantidad de métodos no RESTful considere la posibilidad de extraerlos a su propio controlador.
Conceptos extraídos de:
¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.