Hola a todos,
mi cabeza es un mar de dudas gracias a REST, algo que imagino que en
esencia será sumamente sencillo y a lo que me gustarÃa que me ayudaseis
a aclarar. Antes de nada, os explicaré lo que intento hacer: la
aplicación web consiste en un portal en el que los usuarios, previamente
registrados, puedan publicar crónicas (lo que viene siendo más o menos
un blog, vamos). La primera duda ya me viene a la hora de tratar a los
usuarios: map.resource :user, map.resources :users o ambas?? En
principio creé el recurso con map.resource :user, para que un usuario
pueda acceder a su cuenta, pero para que el administrador pueda
gestionar a los usuarios deberé usar también map.resources :users, no es
asÃ? Pero lo que más me lÃa viene ahora, gracias a los recursos
anidados. Según mi opinión, una crónica no tiene sentido sin un usuario,
puesto que es él quien la tiene que crear, por lo tanto map.resource
:user, has_many :chronicles. Pero no me interesa que sólo se puedan ver
las crónicas desde el ámbito de la cuenta de un usuario, si no que
también lo puedan hacer los que no están registrados, por lo tanto añado
map.resources :chronicles, :only => [:index, :show]. Todas las rutas
generadas serán manejadas por el controlador chronicles. AsÃ,
user_chronicles_path y chronicles_path usarán la acción index del
controlador chronicles, aunque deberÃan tener un efecto distinto (una
listar sólo las publicadas por un usuario y la otra todas). PodrÃa hacer
que user_chronicles_path, en vez de index, usara una acción creada por
mà (published por ejemplo)??
Siento poner todo este tabalenguas, pero me servirÃa de gran ayuda que
me indicaseis qué falla en mi planteamiento, no creo que haya diseñado
bien la solución, puesto que no puede ser tan lioso.
Muchas gracias