On est d'accord sur les filters :) par contre pour l'affiche du coup tu le fais à ajax du coup ? Le côté immuable ça ok pas de souci, moi c'est plus la partie vue sur laquelle je me questionnais.
Simon Courtois On Tuesday 11 June 2013 at 18:09, Cyril Mougel wrote: > before_filter == BAN > before == BAN > after == BAN > > voila ma régle :) > > un shopping cart c'est simple, et avec de l'immutable, j'ai le versionning > implicite :p > > class Cart > > include Adamantium > > def initialize(items) > @items = items > end > > def add(item) > Cart.new(@items | item) > end > end > > > > > 2013/6/11 Simon Courtois <[email protected] (mailto:[email protected])> > > @cyril du coup un exemple con mais un shopping cart tu le gères comment ? > > > > Parce je suppose qu'à coups de before_filter et de decent_exposure tu peux > > faire qqchose mais je trouve ça un peu gore > > et le coup de mettre ta logique dans la vue ça me choque un peu. Après je > > compte pas partir en croisade sur les trucs > > comme ça mais je sais pas ça me semble pas la solution. > > > > > > > > Simon Courtois > > > > > > On Tuesday 11 June 2013 at 17:46, Cyril Mougel wrote: > > > > > Perso j'aime pas trop Cells, ca sandbox trop. > > > > > > Je suis pour > > > > > > decent_exposure > > > Draper > > > Object On Rails > > > Virtus > > > Adamantium > > > > > > > > > > > > 2013/6/11 Guirec Corbel <[email protected] > > > (mailto:[email protected])> > > > > @cyril : Tu oublis de factoriser par le coef DHH. J'appliquerai ta > > > > formule très bientôt. > > > > > > > > @simon : je ne trouve rien à propos de delegate_finder. Je n'en ai > > > > jamais entendu parlé. Peux-tu montrer un exemple? > > > > > > > > Je ne connaissais pas Cells. Je vais voir ce que c'est. > > > > > > > > @olivier : Merci pour ton avis. > > > > > > > > > > > > Le 11 juin 2013 11:16, Olivier El Mekki <[email protected] > > > > (mailto:[email protected])> a écrit : > > > > > > > > > Hello, > > > > > > > > > > Le bon moment pour utiliser un presenter, c'est avant tout une > > > > > décision > > > > > esthétique. La plupart du temps, les méthodes des presenters ne seront > > > > > utilisées qu'une seule fois, il n'y a donc pas ici de règle de > > > > > refactoring applicable à tous les coups : le bon moment d'utiliser un > > > > > presenter est celui où tu estimes qu'il y a trop de logique de > > > > > présentation dans ta vue. > > > > > > > > > > Les helpers sont très similaires, mais ont plus vocation à être > > > > > réutilisés, sans être liés à une resource particulière. > > > > > > > > > > Tu peux t'en servir par exemple pour formatter des messages > > > > > d'erreur, générer des boutons qui sont composés de plusieurs éléments > > > > > mais sont trop succints pour mériter un partial, etc. > > > > > > > > > > Si tu t'apprêtes à utiliser un presenter pour n'y mettre qu'une ou > > > > > deux > > > > > méthodes, il serait sûrement plus approprié d'utiliser des helpers > > > > > égalements. > > > > > > > > > > On 11:03 Tue 11 Jun , Guirec Corbel wrote: > > > > > > J'ai oublié de dire que, dans le cas des scopes, je parles de > > > > > > parties qui > > > > > > concerne la présentation, utilisés par un menu par exemple. > > > > > > > > > > > > Une autre question, à partir de quel complexité faudrait t'il > > > > > > utiliser un > > > > > > presenter. Si on à ça par exemple : > > > > > > > > > > > > f.association :company, label_method: :company_name, value_method: > > > > > > :id, include_blank: false > > > > > > > > > > > > Est ce que ça serait utile de faire une fonction pour ça? Où mettre > > > > > > cette fonction si ça devient trop complexe? > > > > > > > > > > > > > > > > > > > > > > > > Le 11 juin 2013 10:43, Guirec Corbel <[email protected] > > > > > > (mailto:[email protected])> a écrit : > > > > > > > > > > > > > Bonjour, > > > > > > > > > > > > > > Aujourd'hui je pose une question que je trouve un peu basique > > > > > > > mais je suis > > > > > > > totalement perdu : Quand utiliser draper, des presenters, des > > > > > > > helpers, des > > > > > > > scopes ou des partials? > > > > > > > > > > > > > > J'ai lu le post de Philippe Creux : > > > > > > > http://reverbhq.com/blog/2012/08/building-web-apps-with-activeadmin/ > > > > > > > et > > > > > > > je suis d'accord avec lui. On devrait utiliser draper quand on a > > > > > > > besoin > > > > > > > d'une action simple agissant sur un modèle. Un presenter contient > > > > > > > une > > > > > > > logique plus complexe agissant sur plusieurs modèles. > > > > > > > > > > > > > > J'aime bien la méthode de Ryan Bates présentée ici : > > > > > > > http://railscasts.com/episodes/287-presenters-from-scratch, le > > > > > > > problème, > > > > > > > pour moi, c'est qui créer une variable "user_presenter" qui > > > > > > > délègue des > > > > > > > fonctions à sont modèle "user". Si l'on a beaucoup d'attributs ça > > > > > > > peut > > > > > > > devenir compliqué. Je pense que l'on ne devrait pas pour autant > > > > > > > utiliser > > > > > > > des fois "user_presenter" et d'autres fois "@user". > > > > > > > > > > > > > > Je n'aime pas non plus le fait d'instancier un objet "@presenter" > > > > > > > dans le > > > > > > > contrôleur. Ça viole une des lois de Sandi Metz. > > > > > > > > > > > > > > En ce qui concerne les partials, ça sert à décomposé de gros > > > > > > > bloques de > > > > > > > code dans de plus petits. > > > > > > > > > > > > > > Je m'interroge au niveau des scopes sur le fait d'appeler une > > > > > > > fonction > > > > > > > d'un modèle dans une vue. Par exemple, si on fait ceci : > > > > > > > > > > > > > > <% User.active_users.each do |user| %> > > > > > > > .... > > > > > > > <% end %> > > > > > > > > > > > > > > Je ne suis pas certain que ça soit une bonne pratique, qu'en > > > > > > > pensez-vous? > > > > > > > > > > > > > > Quant aux helpers... ils servent à créer du html qui ne se sert > > > > > > > d'aucun > > > > > > > modèle? > > > > > > > > > > > > > > Quel est votre avis là dessus? Quels sont vos techniques? Avez > > > > > > > vous des > > > > > > > bons exemples? > > > > > > > > > > > > > > Bye! > > > > > > > > > > > > > > > > > > > -- > > > > > > -- > > > > > > 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] > > > > > > (mailto:[email protected]) > > > > > > Pour résilier votre abonnement envoyez un e-mail à l'adresse > > > > > > [email protected] > > > > > > (mailto:[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] > > > > > > (mailto:railsfrance%[email protected]). > > > > > > Pour plus d'options, visitez le site > > > > > > https://groups.google.com/groups/opt_out . > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > Olivier El Mekki. > > > > > > > > > > -- > > > > > -- > > > > > 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] > > > > > (mailto:[email protected]) > > > > > Pour résilier votre abonnement envoyez un e-mail à l'adresse > > > > > [email protected] > > > > > (mailto:[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] > > > > > (mailto:railsfrance%[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] > > > > (mailto:[email protected]) > > > > Pour résilier votre abonnement envoyez un e-mail à l'adresse > > > > [email protected] > > > > (mailto:[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] > > > > (mailto:railsfrance%[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] (mailto:[email protected]) > > > Pour résilier votre abonnement envoyez un e-mail à l'adresse > > > [email protected] > > > (mailto:[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] > > > (mailto:[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] (mailto:[email protected]) > > Pour résilier votre abonnement envoyez un e-mail à l'adresse > > [email protected] > > (mailto:[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] > > (mailto:railsfrance%[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] (mailto:[email protected]) > Pour résilier votre abonnement envoyez un e-mail à l'adresse > [email protected] > (mailto:[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] > (mailto:[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 .
