Bonjour à tous, j'ai un problème : j'ai des connexions qui passent à travers des liens,équipements,ports (un lien est entre deux ports de deux équipement, un port appartient à un équipement)
j'ai donc comme relation entre ceux de droite : class Link < ActiveRecord::Base belongs_to :src_device, :class_name => "device", :foreign_key => "src_device_id" belongs_to :dst_device, :class_name => "device", :foreign_key => "dst_device_id" belongs_to :src_port, :class_name => "port", :foreign_key => "src_port_id" belongs_to :dst_port, :class_name => "port", :foreign_key => "dst_port_id" class Port < ActiveRecord::Base belongs_to :device has_many :links class Device < ActiveRecord::Base has_many :links has_many :ports Maintenant, je peux avoir plusieurs connexions sur un même équipement/port/lien et je peux avoir plusieurs équipement/port/lien par connexion. Donc là je pensais rajouter cela à la connexion (en suivant ce qui est dit dans ce lien : http://paulbarry.com/articles/2007/10/24/has_many-through-checkboxes") : [CODE] has_many :links, :through => :link_connections has_many :ports, :through => :port_connections has_many :devices, :through => :device_connections[/CODE] et faire la symétrie pour les équipement/port/lien Là ou ça se corse c'est qu'une connexion peut passer plusieurs fois par le même équipement/port/lien... Et là je vois pas trop comment faire, sauf créer un modèle "ConnexionFragment" qui sera un fragment de connexion et qui lui aura une relation one-to-many avec les connexions et une relation one-to-many avec les équipement/port/lien (double one-to-many pour les équipements/ports) mais je trouve que je perds pas mal de simplicité... Vous auriez pas une idée plus simple/elegante ? -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups. Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse [email protected] Pour résilier votre abonnement envoyez un e-mail à l'adresse [email protected] -~----------~----~----~----~------~----~------~--~---
