class Profile
has_many :projects, :through => "teamss"
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
。我想做的是生成一个链接project#view
项目的每个成员(包括所有者)的页面,以便使Evaluation
该人将点击该链接并评估与该链接相关的人。业主Project
会对所有会员进行评价,所有会员也会对业主进行评价。
我已经定义了模型Evaluation
如下,但我想我错过了一些东西:
class Evaluations < ActiveRecord::Base
belongs_to :evaluated, :class_name => 'Profile', :foreign_key => "evaluated_id"
belongs_to: :profile, :class_name => 'Profile', :foreign_key => "profile_id"
end
记住这一点Evaluation
表将有大量属性,这就是为什么我不打算使用has_many_and_belongs_to_many
.
我怎样才能创建这个模型才能做我想做的事情并能够获得我需要的所有签证project#show
page?
Thanks!
Edited
所做的更改:
class Profile
has_many :evaluations, :dependent => :destroy, :foreign_key => :evaluation_id
has_many :evaluators, :through => :evaluations, :foreign_key => :profile_id
end
class Project
has_many :evaluations,:foreign_key => "project_id"
end
class Evaluations < ActiveRecord::Base
belongs_to :evaluated, :class_name => 'Profile', :foreign_key => "evaluated_id"
belongs_to: :profile, :class_name => 'Profile', :foreign_key => "profile_id"
belongs_to: :project, :class_name => 'Project', :foreign_key => "project_id"
end