Bonjour à tous, Je vais vous exposer un problème relativement complexe, je suis bloqué et si quelqu'un pouvait me donner un coup de pouce je ne le remercierais jamais assez !
Le concept : ------------- J'ai une série de tables en DB (users, functions, expertizes, ...) Je souhaites mettre en place un système qui me permette de lier ces différents objets entre eux de manière très flexible vie une seule table, en "typant" les liaisons. Mon idée : ------------- Créer une table "objectrelations" qui contiendrait les champs suivants : id linkfrom_id linkfrom_type linkto_id linkto_type created_at updated_at stopped_at #1 record de objectrelations : id : 1 linkfrom_id : 1 # User ID = 1 linkfrom_type : "User" linkto_id : 1 # Expertize ID = 1 linkto_type : "Expertize" created_at : now() updated_at : now() stopped_at : NULL Le problème : -------------------------- Tout ceci fonctionne bien en DB, ça me permet de créer des liens entre les différents objets, de remonter divers liens, de mettre fin à un lien (via la colonne stopped_at) sans supprimer le lien en DB (on garde un historique) ... Par contre, je ne vois vraiment pas comment modéliser tout ceci dans Rails (dans les modèles). Je penses avoir bien compris que je devrai utiliser le polymorphisme, les "Through Associations" ou encore "L'héritage de table" mais je n'y arrive pas. J'ai regardé du côté de "acts_as_taggable", ils utilisent un système semblable mais uniquement dans un sens (n'importe quel objet -> des tags). Malheureusement, ici je dois pouvoir lier n'importe quoi avec n'importe quoi ... Est-ce que quelqu'un a une idée pour m'aider ? Comment dois-je m'y prendre ? Merci. -- 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] -~----------~----~----~----~------~----~------~--~---
