Mil gracias, esto me sirve, era lo que buscaba. poli
2011/6/26 geronimo diaz <[email protected]> > Hola paolo, en rails no se puede definir una primary key compuesta, pero > entiendo que queres definir basicamente una relacion NxN, para ello tenes 2 > opciones que te provee el framework: > > #Student > > has_and_belongs_to_many :class_changes > > #Class > has_and_belongs_to_many :student_changes > > Este approach tiene la necesidad de la creacion de la tabla (por la cual > hacer el join), *sin id*, que resulta de la relacion Student N< --- >N > Class: > > #table students_classes > student_id | class_id | date ... (cualquier atributo extra que necesite la > relacion) > > Por otro lado podes modelar lo mismo mediante el uso de la opcion :through > al definir la asociacion: > > #Change (esta tabla si lleva atributo id) > belongs_to :student # foreing_key student_id > belogns_to :class # foreing_key class_id > > > #Student > has_many :changes > has_many :classes, :through => :changes > > #Class > has_many :changes > has_many :students, :through => :changes > > > Cual appoach utilizar depende si vas a necesitar manipular la relacion NxN, > es decir, la tabla por la que se hace el join, en el caso de que necesites > manipular los cambios de clases entonces el segundo approach seria el > adecuado a mi entender. > > > Saludos > > El 26 de junio de 2011 16:06, Paolo Loran <[email protected]>escribió: > > A nadie le paso esto? que tuviera que definir un nuevo objeto tipo >> transaccion?? donde tuviera una primary key compuesta donde no tuviera id >> pero si numero de cliente, y fecha?? >> >> poli >> >> >> 2011/6/25 Paolo Loran <[email protected]> >> >>> Mi idea era tener una tabla en BD que se llame ClassChanges que no >>> tuviera ID como PK sino que tuviera => student_id, date y class_id como >>> primary key >>> En mi modelo habia hecho lo siguiente: >>> >>> #Student >>> has_many :class_changes >>> >>> #ClassChange >>> belongs_to :student >>> belongs_to :class >>> >>> #Class >>> has_and_belongs_to_many :class_changes >>> >>> no se si es correcto mi planteo >>> >>> Un estudiante puede tener muchos cambios de clases pero no puede tener >>> mas de uno para el mismo dia y clase. >>> Una clase puede estar relacionada a muchos cambios de clases. >>> >>> poli >>> >>> >>> 2011/6/25 Martin Aceto <[email protected]> >>> >>>> 2011/6/25 Paolo Loran <[email protected]>: >>>> > Hola a todos queria consultarles lo siguiente: >>>> > >>>> > Tengo un Alumno que posee cambios de clases a una fecha >>>> > >>>> > Student{name, address, dni} donde su primary key seria id (generada >>>> > automaticamente en migrations) >>>> > >>>> > por otro lado tengo: >>>> > >>>> > CambioDeClase{student_id, date, :class_id} donde su primary key no >>>> deberìa >>>> > ser id sino que deberìa ser => :student_id, :date, :class_id >>>> > >>>> > Es posible armar este tipo de objeto donde no me permita ingresar un >>>> mismo >>>> > alumno para la misma fecha a la misma clase? >>>> > >>>> > Saludos. >>>> > poli >>>> > >>>> > _______________________________________________ >>>> > Ruby mailing list >>>> > [email protected] >>>> > >>>> http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar >>>> > >>>> > >>>> >>>> Hola Paolo, >>>> >>>> no se como tenes armada la relación pero no te sirve >>>> validates_associated ? >>>> >>>> >>>> http://api.rubyonrails.org/classes/ActiveRecord/Validations/ClassMethods.html#method-i-validates_associated >>>> >>>> >>>> Saludos.- >>>> >>>> -- >>>> Martin >>>> _______________________________________________ >>>> Ruby mailing list >>>> [email protected] >>>> http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar >>>> >>> >>> >> >> _______________________________________________ >> Ruby mailing list >> [email protected] >> http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar >> >> > > > -- > Geronimo Diaz > v1 | services > [email protected] > [email protected] > > _______________________________________________ > Ruby mailing list > [email protected] > http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar > >
_______________________________________________ Ruby mailing list [email protected] http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
