Ressources imbriquées

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/

Bonjour Guillaume,

On 04 May 2008, at 22:36, Guillaume B. 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 E.
Belighted.com | Web 2.0 Consulting & Training
Email : [email protected] | Phone: +32 486 377593

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 May 2008, at 21:35, Guillaume B. 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 ? :slight_smile:

Bonne nuit,

Jean-Baptiste

Jean-Baptiste E.
Belighted.com | Web 2.0 Consulting & Training
Email : [email protected] | Phone: +32 486 377593

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs