[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