2013/6/4 Nicolas Blanco <[email protected]>

> Hello tous !
>
>
> 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.
>

Je suis d'accord avec toi sur le fait que l'utilisation des variables
d'instance dans les vues est une mauvaise pratique. Je me suis déjà exprimé
sur ce sujet sur mon blog :)

http://blog.shingara.fr/pourquoi-jai-arrete-decent-exposure.html

Même si j'avoue revenir à nouveau sur decent_exposure aussi :)


>
> 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 ?
>

Globalement, je suis pour. Ne pas montrer cette possibilité ne pourra que
simplifier nos vues en sachant que c'est tres simple de faire sans en
builtin avec le helper_methods.


-- 
Cyril Mougel
http://blog.shingara.fr

-- 
-- 
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 à