У меня есть эти модели:
class Profile
has_many :projects, :through => "teams"
has_many :teams, :foreign_key => "member_id"
has_many :own_projects, :class_name => "Project", :foreign_key => :profile_id
has_many :own_teams, :through => :own_projects, :source => :teams
end
class Project
belongs_to :profile, :class_name => "Profile"
has_many :teams
has_many :members, :class_name => "Profile", :through => "teams", :foreign_key => "member_id"
end
class Team
belongs_to :member, :class_name => 'Profile'
belongs_to :project
end
Я хочу создать модель Evaluation
.Для этого потребуется идентификатор владельца проекта, идентификатор участника этого проекта и идентификатор проекта.Объясняя лучше, Владелец Проекта оценит всех своих участников, один за другим.И участники оценят просто владельца проекта.Таблица Evaluation будет иметь много атрибутов плюс те идентификаторы, которые упоминались ранее.
Мой вопрос: как бы мои модели работали с оценкой и как бы выполнялась сама оценка модели?has_and_belongs_to_many
или has_many :through
?
Спасибо.
Отредактировано
Выстрел в темноте
class Evaluations < ActiveRecord::Base
belongs_to :evaluated, :class_name => 'Profile', :foreign_key => "evaluated_id"
belongs_to: :evaluator, :class_name => 'Profile', :foreign_key => "profile_id"
end
Угадай, яне потребуется идентификатор из проекта ...