需要帮助构建我的场景的关联

时间:2014-12-25 15:28:29

标签: ruby-on-rails ruby-on-rails-4 activerecord associations

我不熟悉协会,也没有丰富的知识。

以下是我的用例:
有两种模式:

  • 员工
  • 评分

- >员工(作为团队负责人)可以对其团队成员(员工)进行评级

仅在has_many之间采用employee to rating关系是否是个好主意? 另外,我有点困惑,我将如何能够在Team Lead登录会话中分别显示团队负责人及其团队成员的评级。

请帮忙。

1 个答案:

答案 0 :(得分:1)

ratings表应包含giver_idemployee_id列。然后:

class Employee < ActiveRecord::Base
  has_many :given_ratings, foreign_key: :giver_id, class_name: Rating
  has_many :ratings
end

class Rating < ActiveRecord::Base
  belongs_to :giver, class_name: Employee
  belongs_to :employee
end

然后对于任何员工,以下应该有效:

team_lead = # fetch employee however
team_lead.ratings # ratings given TO this employee
team_lead.given_ratings # ratings given BY this employee