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 .

Reply via email to