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 --~--~---------~--~----~------------~-------~--~----~ 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] -~----------~----~----~----~------~----~------~--~---
