Rails模型协会混乱

时间:2011-09-11 08:49:25

标签: ruby-on-rails ruby-on-rails-3 activerecord model-associations

我正在构建一个应用程序(学习rails),允许公司/(个人)创建个人资料页面以列出他们的员工和技能,以便我的网站用户能够根据技能找到人员,这样他/她可以在一段时间内聘请他们作为合同雇员。

我有这些模型公司,员工,技能,合同,但我很困惑如何在这些模型之间建立关联以做我想要的。

是否存在与此类似的开源项目,以便我可以从中学习。

2 个答案:

答案 0 :(得分: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等。

希望有所帮助!

答案 1 :(得分:1)

我不确定要查看的任何开源项目,但是您是否经历过Getting Started Rails Guide?它涵盖了基本的协会。