Salut à tous Question purement théorique, mon problème étant déjà résolue, mais j'aimerais tout de meme savoir si il existe une autre (surement) voir une meilleure facon de le résoudre.
Le problème est simple, j'ai très souvent des vues qui nécessitent la combinaison de trois objets pour afficher toutes les informations nécessaires. Je m'impose comme contraintes : - éviter toute logique dans le code html - éviter de passer plus d'1 objet à ma vue (j'utilise render: 'ma/page', locals: ... ) - ne pas utiliser les helpers de rails (Des modules chargé sur toutes les pages ? non merci) - ne pas utiliser de décorateur (comme le gem drapper) car je vais me retrouver avec un fichier de 600 lignes car je vais cumuler toutes les vue dans ce même fichier. Je vais tenter un exemple pour vous montrer ce que j'ai fait : Je veux afficher la page admin/articles/:id Sur cette page, je veux toutes les informations lié à cette article (de pres ou de loin et avec des statistiques sur le mois précédent): nombre de fois consulté, provenance géographique, différence avec le mois précédent....etc En gros pour afficher toutes les informations sur ma page j'ai besoin des objets : Article, Provenance, Consultation, et Statistique(Consultation, Consultation - 1.month) Ce que j'ai fait j'ai créé un dossier app/views_helper dans lequel j'ai créé le fichier article_show.rb (qui est juste class ArticleShow; def initialize(...); end ......) Je l'instancie avec mes 3 objets, et je définis les méthodes utile pour la vue. Ca fonctionne très bien, le code est facilement testable. Le probleme : Lorsque quelqu'un va reprendre mon code, comment va-t-il faire le lien entre app/views_helper/article_show.rb et admin/articles/:id ? (certe en lisant le controlleur, là ou je l'instancie avant de le passer à ma vue) Existe t'il une convention qui normalise l'utilisation d'une classe directement lié à une vue ? Est ce que cette idée de classe lié à une vue est une hérésie ? Au départ je contais mettre mes classes directement dans app/views/articles/mon_objet_pour_show.rb mais Rails ne la trouvait pas. Et vous, comment codez vous vos vues complexes ? Dans l'attente de vos réponses, merci de votre attention ;) Bon dev. -- -- 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 railsfrance@googlegroups.com Pour résilier votre abonnement envoyez un e-mail à l'adresse railsfrance-unsubscr...@googlegroups.com --- 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 railsfrance+unsubscr...@googlegroups.com. Pour plus d'options, visitez le site https://groups.google.com/d/optout .