Je vais peut-être dire un truc très con, mais je vois pas comment la question peut se poser, en fait :-)
Soit la requête est routée dans une action "member", soit elle est routée dans une action "collection". Et du coup dans ton contrôleur, en fonction de la méthode appelée, tu sais si à la base c'était du "member" ou du "collection". En fait, pour être plus clair, je ne vois vraiment pas le cas d'usage de ta question. Éventuellement, si tu écris un routage "chelou", tu dois effectivement pouvoir permettre d’appeler la même méthode d'un contrôleur donné en mode "collection" ou en mode "member", mais ça me semble une erreur de conception. Tu dis "construire automatiquement et intelligemment des breadcrumbs" : tu peux développer ? Parce que là je vois pas le lien :-) - Romain 2011/7/4 philippe lachaise <[email protected]>: >>> Il y a un moyen un peu "hackish", qui est de tester la présence du param >>> "id" ? > > Ouais, justement je me demandais si rails n'utilisait pas des moyens > "propres" en interne et qui soient accessibles auw simples mortels :-) > > D'ailleurs le "id" ne marchera pas pour un :show lorsqu'on a affaire à > "resource" (par oppososition à "resources" au pluriel) > > @ook : La définition de :member et :collection est claire, la question > c'est plutôt comment détecter que l'un ou l'autre s'applique au > contexte courant du controller. > > Par exemple, si params[:action] == 'index' c'est facile, :collection, > si params[:action] == 'show' et params[:id] == 10 pas de pb, c'est > :member. > > Mais si j'ai un controller avec un nom qui ne se déduit pas du path ou > une action custom ça se complique. > > C'est là que ce serait bien de pouvoir demander directement à Rails. > > -- > 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 > [email protected] > Pour résilier votre abonnement envoyez un e-mail à l'adresse > [email protected] -- 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 [email protected] Pour résilier votre abonnement envoyez un e-mail à l'adresse [email protected]
