[Ror-es] Recursos anidados (o no) con REST

Emili Parreño
Wed Jan 9 08:57:47 GMT 2008


Buenas, aquí estoy liado con REST, parece que ya le voy pillando el  
que. Se me presenta una duda y me gustaria que me dijérais como lo  
solucionaríais vosotros, ya que se me ocurren diversas soluciones pero  
no se si voy bien. Me explico:

En una aplicación tengo recursos anidados, supóngase ofertas de empleo  
que pertenecen a un usuario que las ha publicado.
user has_many jobs
job belongs_to user

Creo en mi routes:
   map.resources :users do |user|
     user.resources :jobs
   end

Hasta aquí ningún problema, pongo un before_filter :get_user en el  
controlador de jobs i ya está. Pero me gustaría poder acceder  
directamente a las ofertas de empleo en algunos casos, para borrarlas  
o para hacer simplemente un listado, pasando del usuario. Para esto  
añado

   map.resources :jobs

en el routes y ya tengo recurso anidado y no anidado. Fantástico. El  
problema lo tengo cuando intento acceder directamente a las ofertas ya  
que el controlador hace el before_filter :get_user y como no le estoy  
pasando un usuario peta.

Algunos me propondréis que haga esto:

   before_filter ::get:user, :only =>  
[ :edit, :update, :destroy, :new, :create ]

y así pase del index, pero necesito poder listar todas las ofertas  
independientemente del usuario y también poder listar las ofertas de  
un usuario en concreto para que las pueda administrar.

Sugerencias de los RESTafaris?

------------------------------------
Emili Parreño
http://www.abecedata.com