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