Question de newbie: données de plusieurs contrôleurs


#1

Bonjour,

Je commence actuellement RoR. Je viens de terminer le bouquin “Agile
Web…”. Ne reste plus qu’à mettre tout ça en pratique. Maintenant, j’ai
une petite question:

Pour une page donnée, j’ai le modèle suivant:

<données du contrôleur 1 /> </colonne A>
<données du contrôleur 1 /> </colonne B>
<données du contrôleur 1 /> </colonne C>

Quand la page est invoquée, elle l’est pour une action sur le contrôleur
B. Quelle(s) serai(en)t la(les) meilleure(s) manière(s) d’obtenir et de
faire le rendu des données des autres contrôleurs?

Merci pour vos conseils

Fred


#2

(up pour ma petite question qui est passée inaperçue)


#3

En fait le problème c’est que y’a pas de discussion suivi (ou alors
c’est
mon client mail qui vas pas bien) mais ton up ne suis aucun message, du
coup
je vois pas la question que j’ai raté …
Vraiment désolé.

2006/3/31, Fred removed_email_address@domain.invalid:


#4

Ok autant pour moi. J’aurais du aller voir le forum ruby-forum.com.
Désolé
:’(

Le 31/03/06, Yannick F. removed_email_address@domain.invalid a écrit :


#5

Je n’ai pas mon livre sur moi, mais il me semble qu’il y a un exemple de
comment faire…

Il faut simplement que, lorsque tu appelles la procédure du controleur X
dans la view d’un controlleur Y, tu ajoutes un argument de plus au call
de l’action qui précise de quelle controleur tu parles.

Mais si c’est une fonction qui et utilisé a plusieurs endrois, tu
pourrais penser utiliser un helper.

J’espère que ca aide!


#6

je vois pas la question que j’ai raté …
Alors, je reposte: :slight_smile: (mais je passe effectivement via ruby-forum.com)

Je commence actuellement RoR. Je viens de terminer le bouquin “Agile
Web…”. Ne reste plus qu’à mettre tout ça en pratique. Maintenant, j’ai
une petite question:
Pour une page donnée, j’ai le modèle suivant:
<données du contrôleur 1 /> </colonne A>
<données du contrôleur 1 /> </colonne B>
<données du contrôleur 1 /> </colonne C>
Quand la page est invoquée, elle l’est pour une action sur le contrôleur
B. Quelle(s) serai(en)t la(les) meilleure(s) manière(s) d’obtenir et de
faire le rendu des données des autres contrôleurs?

Merci pour vos conseils

Fred


#7

Moi aussi j’ai du mal avec la question posée.

Pour une page donnée, j’ai le modèle suivant:
<données du contrôleur 1 /> </colonne A>
<données du contrôleur 1 /> </colonne B>
<données du contrôleur 1 /> </colonne C>
Quand la page est invoquée, elle l’est pour une action sur le contrôleur
B. Quelle(s) serai(en)t la(les) meilleure(s) manière(s) d’obtenir et de
faire le rendu des données des autres contrôleurs?

Tu appelles une action du contrôleur B, et tu dis que tu veux
présenter dans la vue des données du contrôleur 1.
Mais le contrôleur ne contient aucune donnée, seulement du traitement.
Les données que tu veux utiliser dans ta vue sont récupérer par le
contrôleur à partir d’un modèle.
Pourquoi ne pas demander à l’action du contrôleur B d’aller elle aussi
chercher ces données dans le modèle adéquat ?

Et pour éviter d’écrire deux fois la même chose (DRY !), tu peux
mettre ton code dans l’ApplicationController, ou encore dans un
module, dans un fichier séparé que tu inclueras dans les contrôleurs
qui ont besoin de récupérer ces données.

En espérant t’avoir répondu.


Guillaume “Zifro” DESRAT
http://…/
– Aah Jeez…I Wish You Could See This…Lights Coming Up…I’ve
Never Seen A Painting That Captures The Beauty Of The Ocean…I’m
Gonna Make You Rich, Bud Fox…Rich Enough You Can Afford A Girl Like
Darien…This Is Your Wake-Up Call, Pall…Go To Work…DROP IT!!!
(3 Steps Ahead - Drop It)


#8

faire le rendu des données des autres contrôleurs?

Soit je ne comprend rien à la question, soit tu n’as pas compris le
pattern
MVC.

Rappel du pattern MVC:
Le modele: C’est lui qui assure l’integrité des données. Le code metier
lui
est aussi confier. (D’apres le pattern, il peut aussi appeller une vue,
sans
passer par le controleur, mais je ne connais pas encore suffisament
Rails
pour te dire si c’est possible).
La vue: C’est une présentation des données. (Dans notre cas c’est le
rendu
(X)HTML)
Le controleur: C’est le “chef d’orchestre” de ce pattern. C’est lui qui
traite les requetes, dit au model d’effectuer les taches demandées, et
appelle la vue à renvoyer.

Si c’est bien moi qui n’ai pas compris ta question, pourais tu la
reformuler
?