J'ai lu quelque part (je n'arrive plus a mettre la main sur le post) qu'une
bonne pratique était de ne passé qu'une seule variable d'instance entre le
contrôleur et la vue. Si on a un contrôleur UsersController, on doit se
limiter à passer des variables représentant la class User.

Je pense qu'utiliser des helpers de contrôleur c'est un peu contourner le
problème. Il faudrait remplacer les autres instances par des presenters.

J'avoue que j'ai du mal, parfois, avec ce principe. L'utilisation des
helpers, des presenters, des partials et des decorators sont encore assez
difficile pour ma part.


Le 4 juin 2013 09:16, Nicolas Blanco <[email protected]> a écrit :

> Hello tous !
>
> Vu qu'il y a eu un sujet sur le DCI, je vous propose un nouveau sujet
> "troll" sur les variables d'instance dans les contrôleurs et vues
> Rails.
>
> Je me suis rendu compte que sur mes derniers projets, je n'ai utilisé
> aucune variable d'instance, et qu'un "ack '@' app/controllers" ne me
> retourne aucun résultat :).
>
> Pour faire court je remplace toutes mes variables d'instance par des
> méthodes et helpers de contrôleurs, quelques fois définis avec
> decent_exposure (qui met en cache automatiquement et évite
> l'utilisation de ||= ).
>
> Je ne vois que des avantages à cela :
> * Isolations des vues,
> * Eviter les exceptions pourries style "undefined method `each' for
> nil:NilClass",
> * Le code de la méthode est appelé que s'il est effectivement utilisé
> par la vue,
> * Un concept en moins à utiliser,
> * Je trouve le caractère @ moche dans le code (tout comme $ en PHP :D),
> * etc.
>
> Il m'arrive de faire des mini présentations de Rails, que pensez-vous
> de ne carrément plus apprendre ce concept de passage de variables
> d'instance entre contrôleurs et vues aux débutants, voir de l'enlever
> des guides, etc ?
>
> --
> Nicolas Blanco, Web developper
>
> http://www.nicolasblanco.fr
> Jabber/GoogleTalk : [email protected]
> Twitter : http://twitter.com/slainer68
> Github : http://github.com/slainer68
> Skype : slainer68
>
> --
> --
> Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de
> Google Groups.
> Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse
> [email protected]
> Pour résilier votre abonnement envoyez un e-mail à l'adresse
> [email protected]
> ---
> Vous recevez ce message, car vous êtes abonné au groupe Google
> Groupes Railsfrance.
> Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le
> concernant, envoyez un e-mail à l'adresse
> [email protected].
> Pour plus d'options, visitez le site
> https://groups.google.com/groups/opt_out .
>
>
>

-- 
-- 
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
[email protected]
Pour résilier votre abonnement envoyez un e-mail à l'adresse 
[email protected]
--- 
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
Railsfrance.
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, 
envoyez un e-mail à l'adresse [email protected].
Pour plus d'options, visitez le site https://groups.google.com/groups/opt_out .


Répondre à