Forum: Rails-ES REST en relaciones que no son 1 a n

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
94ac01209314464490a94b47f051be0b?d=identicon&s=25 alarkspur (Guest)
on 2007-03-14 01:09
(Received via mailing list)
Hola

He estado leyendo y viendo ejemplos sobre REST, me ha quedado claro
que se consiguen app mas estándares, rutas mas "claras", etc.. pero
lo que no he visto en ningún ejemplo es como usar REST en relaciones
que no son 1 a n, en el resto de relaciones no se puede usar REST?

me podéis arrojar un poco de luz sobre el tema de REST con el resto
de relaciones.

Gracias.
Un saludo.
A6344ef7ef1e33e8efb34d99e6124490?d=identicon&s=25 Imobach González Sosa (Guest)
on 2007-03-14 09:19
(Received via mailing list)
El Wednesday 14 March 2007 00:07:22 alarkspur
escribió:> Hola
>
> He estado leyendo y viendo ejemplos sobre REST, me ha quedado claro
> que se consiguen app mas estándares, rutas mas "claras", etc.. pero
> lo que no he visto en ningún ejemplo es como usar REST en relaciones
> que no son 1 a n, en el resto de relaciones no se puede usar REST?
>
> me podéis arrojar un poco de luz sobre el tema de REST con el resto
> de relaciones.

Por lo general, las relaciones n-n en este tipo de caso se consideran
modelos
(clases) de nuestro dominio. Para explicarlo, me gusta mucho un ejemplo
que
pone Heinemeier: tenemos una aplicación con usuarios y grupos (con una
relación n-n). Esta claro que tendremos un controlador para
crear/editar/eliminar usuarios y otro para los grupos. ¿Ok?

¿Pero en qué controlador pongo las operaciones para asignar usuarios a
grupos?
En cualquier caso, ya me estaré "cargando" el enfoque REST. Así que la
solución propuesta por DHH es considerar la relación de pertenencia un modelo
en sí mismo:

class Pertenencia < ActiveRecord::Base
  belongs_to :usuario
  belongs_to :grupo
end

class Usuario < ActiveRecord::Base
  has_many :pertenencias
  has_many :grupos, :through => :pertenencias
end

class Grupo < ActiveRecord::Base
  has_many :pertenencias
  has_many :usuarios, :through => :pertenencias
end

Y para terminar, implementas un controlador (PertenenciaController) que
permita crear/editar/eliminar "pertenencias".

¿Se entiende?

Saludos.

--
Imobach González Sosa
correo-e: imobachgs en banot punto net
jabber id: osoh en jabberes punto org
web: http://www.banot.net/~osoh/
blog: http://devnull.blogs.banot.net/
94ac01209314464490a94b47f051be0b?d=identicon&s=25 alarkspur (Guest)
on 2007-03-14 20:41
(Received via mailing list)
> ¿Se entiende?

Perfectamente. Muchas gracias por la explicación, muy completa.

Un saludo.
This topic is locked and can not be replied to.