Bonjour, Je suis en train d'utiliser les ressources imbriquées, et en fait... je me demande à quoi ça sert ! En effet, dans l'exemple : map.resources :clients do |client| client.resources :commandes end Mis à part une jolie URL REST, ça ne sert pas à grand chose, puisque l'id des commandes reste unique, et donc une commande restera identifiable par son simple id... Me trompé-je ? gUI -- Pour la santé de votre ordinateur, préférez les logiciels libres. Lire son mail : http://www.mozilla-europe.org/fr/products/thunderbird/ Browser le web : http://www.mozilla-europe.org/fr/products/firefox/ Suite bureautique : http://fr.openoffice.org/
on 04.05.2008 22:37
on 05.05.2008 13:42
Bonjour Guillaume, On 04 May 2008, at 22:36, Guillaume Betous wrote: > En effet, dans l'exemple : > > map.resources :clients do |client| > client.resources :commandes > end > > Mis à part une jolie URL REST, ça ne sert pas à grand chose, puisque > l'id des commandes reste unique, et donc une commande restera > identifiable par son simple id... Effectivement si tu veux voir une seule commande, tu n'as pas *besoin* d'imbriquer tes ressources. Maintenant, imaginons que tu veuilles voir toutes les commandes d'un client. A ce moment là , ça devient intéressant d'avoir des ressources imbriquées (car tu auras besoin de l'id du client). Ou encore, Imaginons que tu veuilles donner accès aux commandes des *tes* clients uniquement. Tu auras également besoin de l'id du client pour vérifier qu'il fait bien partie de la liste de tes clients. Mais si tu utilise REST, c'est probablement *aussi* pour avoir des jolies URLs qui sont facilement utilisable le jour où tu veux créer une API. Non? -- Jean-Baptiste Escoyez Belighted.com | Web 2.0 Consulting & Training Email : jbe@belighted.com | Phone: +32 486 377593
on 05.05.2008 21:36
oui, c'est vrai que ça permet de faire des recherches restreintes, un peu comme un "with_scope"... je me rends compte qu'on le ferait à tous bouts de champs en fait (-: gUI -- Pour la santé de votre ordinateur, préférez les logiciels libres. Lire son mail : http://www.mozilla-europe.org/fr/products/thunderbird/ Browser le web : http://www.mozilla-europe.org/fr/products/firefox/ Suite bureautique : http://fr.openoffice.org/
on 05.05.2008 23:47
On 05 May 2008, at 21:35, Guillaume Betous wrote: > > oui, c'est vrai que ça permet de faire des recherches restreintes, un > peu comme un "with_scope"... > > je me rends compte qu'on le ferait à tous bouts de champs en fait (-: Justement, il ne faut pas l'utiliser à tout bout de champ. Pour faire des recherches, on utilise des paramètres pas des ressources imbriquées. Je te vois alors revenir avec ta première question (à quoi ça sert alors). THEORIE : REST est un style architectural. En autre, il t'aide à structurer les données que ton application web présente aux utilisateurs (plus particulièrement aux utilisateurs qui consommeront les ressources (données) de ton appli via son API (si tu en fait une). PRATIQUE : - Si tu as une ressource blog et que tu veux afficher les commentaires d'un post donné tu créera une ressource "comment" imbriquée dans "post" (post/1/comments). - Si tu veux chercher parmi tes post ceux du mois de mai tu passera à ta liste de ressource "post" le paramètre "month=may" (post?month=may). Dans ton contrôleur, les deux paramètres sont récupérables dans le hash params. Là , tu en fait ce que tu veux. Qui a dit que REST était évident ? :) Bonne nuit, Jean-Baptiste -- Jean-Baptiste Escoyez Belighted.com | Web 2.0 Consulting & Training Email : jbe@belighted.com | Phone: +32 486 377593