La pregunta (perdon si la contestaron antes, no la vi) mas bien sería: Natalia, qué querés lograr?
map.resources se usa cuando el usuario tiene acceso a varios recursos de ese tipo, y le sirve listarlos, ver uno en particular, agregar nuevos, etc. Ejemplos serían posts en un blog, productos en un carrito de compras, usuarios en una red social. map.resource se usa cuando el usuario tiene acceso a un único recurso de ese tipo (o sea que no puede ver una lista). Ejemplos serían un dashboard, o la sección de "account" de muchos sitios (yo no quiero ver/editar los detalles de la account de otro usuario). -- En tu caso particular, me da la impresión que lo que querés lograr es que los usuarios tengan acceso a la lista de productos (para poder agregarlos al carrito y eso). Así que casi que seguro que necesitás un "map.resources :products" y no un "map.resource :product" (no hay un único producto que pueda estar viendo cada usuario). Igual, no se exactamente qué tiene que hacer la acción ProductsController#ship, entonces no estoy seguro de cuál sería la mejor forma de modelarlo. Más allá de los ejemplos que probaste y cómo funcionaron/no funcionaron o si podés o no acceder a las rutas de una forma u otra, contanos *qué querés lograr* y entonces podemos ver cuál es la mejor forma de lograrlo, y por qué. -foca 2009/9/17 Jürgen Feßlmeier <[email protected]>: > Depende que queres hacer, pero parece que queres implementar (1) "ship a > product" o (2) "list shipped products"? > > # (1) put /products/1/sip > # ship_product_path(@product) > map.resources :products, :member => {:ship => :put} > # (2) get /products/ship > # ship_products_path > map.resources :products, :collection => {:ship => :get} > > > Saludos, > Juergen > On Sep 17, 2009, at 11:45 AM, Natalia Gutierrez wrote: > > Gracias a todos por contestar. Intente hacer: > map.resource :products, :collection =>{:ship => :get} > pero no anduvo. Probe colocandolo antes o despues de map.resources > :products, pero siempre me tomaba la primera declaracion, es decir, a veces > funcionaba /products y a veces /products/ship. > Ahora probe con: > > map.connect 'products/ship', :controller => 'products', :action => 'ship' > > y andan las dos cosas. No se si sera lo correcto. Gracias > > > > Natalia Gutiérrez > Ingeniería y Desarrollo > ICOP Santa Fe S.R.L. > Primera Junta 3057 > S3000CDM - Santa Fe > (0342) 4526057 int. 140 > [email protected] > > __________ Información de ESET NOD32 Antivirus, versión de la base de firmas > de virus 4433 (20090917) __________ > > ESET NOD32 Antivirus ha comprobado este mensaje. > > http://www.eset.com > _______________________________________________ > Ruby mailing list > [email protected] > http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar > > > _______________________________________________ > Ruby mailing list > [email protected] > http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar > > _______________________________________________ Ruby mailing list [email protected] http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
