<aside>
📔
📄 Objectif
Fournir une règle simple, claire et cohérente pour écrire des contrôleurs Rails lisibles, testables et maintenables.
Un bon contrôleur ne prend pas de décision métier, il oriente la requête vers la bonne logique.
📈 Bénéfices d’un contrôleur propre
- Tests plus simples et plus rapides
- Moins de bugs cachés dans des
if
conditionnels
- Plus facile à lire par un nouveau développeur
- Plus proche de l’utilisateur (orienté intention)
✅ Ce qu’on met dans un contrôleur
- Extraction et validation des
params
- Authentification / autorisation (
current_user
, authorize!
, etc.)
- Appel à un composant métier clair (modèle riche ou service dédié)
- Gestion du succès ou échec
- Rendu de la réponse (HTML, JSON, redirect, etc.)
- Préparation des données partagées via des
before_action
⭐ Exemples