2009/9/17 dwayne <[email protected]>

> ah, esa era mi solución horrible...
>
> para que sirve :collection entonces?
>

cuando usás .resources o .resource para generar un conjunto de rutas, hay
veces querés una acción que afecte a todos esos resources o alguno en
particular. En el primer caso, se agrega :collection => { :accion => :get }
(puede ir sin método), en el segundo se usa :member.

Un ejemplo de un collection route suele ser search ("buscar en productos"
por ejemplo)

En este caso de Natalia, hubiese podido usar una sóla línea rutenado
productos, la que tiene como .resources, y agregarle el parámetro
:collection, algo así

map.resources :products, :collection => :ship

(como único mapeo de :products / :product -- o sea, no hay dos líneas que
puedan conflictuar)

esto se despacharía ante un request como "PUT /products/ship"

un ejemplo de una member...

"PUT /products/12/quitar_de_mercado"

(cuando leo eso me imagino algo como Product.find(12).quitar_de_mercado!
---- perdón por el HORRIBLE ejemplo, tá)

-- nachokb
_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar

Responder a