1

我正在構建一個應用程序(學習rails),它允許公司/(個人)創建一個配置文件頁面來列出他們的員工和技能,以便用戶能夠根據我的網站找到人員所以他/她可以聘用他們作爲合同員工一段時間。Rails模型關聯混淆

我有這些模型公司,員工,技能,合同,但我很困惑如何使這些模型之間的關聯做我想做的事情。

是否有任何類似於此的開源項目存在,所以我可以從中學習。

回答

2

聽起來像是你需要:

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 

然後你可以要求@user.contracts@employee.skills

希望幫助!

+0

大衛,非常感謝你的回答幫助了我很多:) – gkr

+0

很高興已經幫助。 – David

1

我不確定任何開源項目可以看,但你是否已經通過了Getting Started Rails Guide?它涵蓋了基本的關聯。

+0

奧丁,感謝我已經閱讀它,但我很困惑如何關聯我的模型比協會在一般:) – gkr