Meshak wrote: > On 3 ao�t, 14:59, Matthieu Humbrecht <[email protected]> > wrote: >> (les tables company_jobs et project_permissions sont des tables de >> jointure) > > Juste une remarque, je ne sais pas si c'est vraiment une convention, > mais j'ai toujours nomm� les tables de jointures comme �a : > - noms des 2 tables au pluriel > - noms des tables par ordre alphab�tique > > Ce qui �vite de d�finir le :through. > > >> Pour franciser tout ceci, en gros, un projet appartient � une entreprise >> et a plusieurs utilisateurs (lesquels appartiennent � diff�rentes >> entreprises). >> Une entreprise peut offrir plusieurs services (Jobs) et un service peut >> �tre fait dans diff�rentes entreprises. > > Question 1 : un projet peut-il �tre li� � plusieurs utilisateurs ? (On > dirait bien que "oui") > > Question 2 : "project_permissions" est-elle une simple table de > jointure ou poss�de-t-elle d'autres champs ? > > S'il s'agit de simples tables de jointure, je te conseille de les > renommer en "companies_jobs" et "projects_users". > De ce fait, �a te simplifie pas mal de choses : > > class Project < ActiveRecord::Base > belongs_to :company > has_and_belongs_to_many :users > > class User < ActiveRecord::Base > belongs_to :company > has_and_belongs_to_many :projects > > class Company < ActiveRecord::Base > has_and_belongs_to_many :jobs > has_many :projects, :dependent => :destroy > has_many :users, :dependent => :destroy > > class Job < ActiveRecord::Base > has_and_belongs_to_many :companies > > -- > Julien Vignolles
Certaines de mes tables de jointures comportent en effet plusieurs champs, mais vu la dimension du projet sur lequel je travaille, inutile de tout préciser, j'en aurais eu pour des pages d'explications. J'ai fais mes recherches sur les relations de type HABTM, mais il semble que le has_many, :through soit plus adapté aux tables de jointure ayant plusieurs champs. En ce qui concerne le nom des tables, c'est pas aussi simple que ça dans la mesure où mon travail est un "stage", et que je dois ajouter du code à un projet en cours. A moi donc de m'adapter, et c'est vrai que c'est pas toujours évident :p Je te remercie néanmoins de ta remarque, j'en prends note ;) -- 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] -~----------~----~----~----~------~----~------~--~---
