Ok, je comprends mieux. Effectivement, je suis encore dans une pensé architectural. Excusez-moi.
C'est vrai que pour un débutant, utiliser une variable d'instance dans une class et la retrouver de manière magique dans une vue peu paraître bizarre. Dans ce cas, utiliser des méthodes peut moins perdre la personne. Cependant, l'étudiant devra quand même apprendre que c'est possible. Il suffit de regarder un projet rails pour voir ce type de variable. Il risque peut-être d'être perdu. Pour ma part, je garderais le concept dans la présentation. Le 4 juin 2013 10:21, Nicolas Blanco <[email protected]> a écrit : > Guirec, je vais réussir à me faire comprendre là j'espère. > > Je parle PAS des différentes pratiques de développement là > (presenters, decorators, etc). T'as encore la tête dans ton topic DCI > là j'ai l'impression. > > Je parle des helpers EN GENERAL en tant que concept à assimiler pour > tous les débutants Rails. > > Quand t'utilises link_to, form_for, t'utilises des helpers, qu'ils > soient les tiens, ceux intégrés à Rails ou dans d'autres gems. > C'est bon là ? > > Quand t'apprends Rails, il faut donc forcément comprendre ce concept > de helpers. Donc autant n'enseigner que ce concept de helpers et ne > pas enseigner le concept de passage de variables d'instances entre > contrôleurs et vues. > C'est ce point que je veux soulever en débat. > > Nicolas. > > 2013/6/4 Guirec Corbel <[email protected]>: > > Ouais... Je ne suis pas certain de voir l'intérêt. Peut-être que je ne > > comprends pas. Personnellement j'utilise inherited_resource et j'en suis > > bien content. Dans mon cas, je crois que c'est rare les moments où je > > pourrais utiliser un helper. Peut-être que je me trompe. > > > > As-tu un exemple d'application où de tels helpers sont correctement > > utilisés? > > > > J'ai hâte de voir l’intérêt des autres. > > > > > > > > > > Le 4 juin 2013 09:51, Nicolas Blanco <[email protected]> a écrit : > > > >> Guirec, je crois t'as pas bien compris mon point. > >> > >> On s'en fiche si tes méthodes/helpers dans ta vue te retournent un > >> objet Decorator, Presenter, Schmilblick ou Caribou (dédicace !), c'est > >> pas le point ici. > >> > >> Au final même si t'utilises une seule variable d'instance, tu utilises > >> deux concepts dans tes vues : l'appel aux helpers/méthodes et l'appel > >> à ta variable d'instance. > >> > >> Autant n'appeler que des méthodes/helpers. > >> > >> Nicolas. > >> > >> 2013/6/4 Cyril Mougel <[email protected]>: > >> > Sandi Metz Rules \o/ > >> > > >> > > http://thunderboltlabs.com/posts/5-simple-rules-to-good-oo-in-rails.html > >> > https://gist.github.com/henrik/4509394 > >> > > >> > > http://robots.thoughtbot.com/post/50655960596/sandi-metz-rules-for-developers > >> > > >> > > >> > 2013/6/4 Guirec Corbel <[email protected]> > >> >> > >> >> 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 . > >> >> > >> >> > >> > > >> > > >> > > >> > > >> > -- > >> > 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 . > >> > > >> > > >> > >> > >> > >> -- > >> 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 . > > > > > > > > -- > 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 .
