1

Je construis une application (pour apprendre les rails) qui permet aux entreprises/(individus aussi) de créer une page de profil pour lister leurs employés et leurs compétences afin qu'un utilisateur de mon site puisse trouver des personnes basées sur la compétence donc il/elle peut les embaucher comme un employé contractuel pour une période de temps. J'ai ces modèles de société, employé, compétence, contrat mais je suis confus sur la façon de faire des associations entre ces modèles pour faire ce que je veux.Rails Model Association Confusion

Existe-t-il des projets open source similaires à celui-ci pour que je puisse en tirer des leçons.

Répondre

2

On dirait que vous avez besoin:

class Company < ActiveRecord::Base 
    has_many :employees 
end 

class Employee < ActiveRecord::Base 
    has_many :employeeskills 
    has_many :skills, :through => :employeeskills 
    belongs_to :company 
    has_many :contracts 
end 

class Skill < ActiveRecord::Base 
    has_many :employeeskills 
    has_many :employees, :through => :employeeskills 
end 

class Employeeskill < ActiveRecord::Base 
    belongs_to :employee 
    belongs_to :skill 
end 

class Contract < ActiveRecord::Base 
    belongs_to :employee 
    belongs_to :user 
end 

class User < ActiveRecord::Base 
    has_many :contracts 
end 

Ensuite, vous pouvez demander @user.contracts ou @employee.skills etc.

Hope that helps!

+0

David, Merci beaucoup votre réponse m'a beaucoup aidé :) – gkr

+0

Heureux d'avoir aidé. – David

1

Je ne suis pas sûr de tous les projets open source à regarder, mais avez-vous été à travers le Getting Started Rails Guide? Il couvre les associations de base.

+0

odin, Merci je l'ai déjà lu mais je suis confus sur la façon d'associer les modèles que j'ai en général Association :) – gkr