我的应用程序有projects
和users
。我并不关心跟踪users
和projects
之间的多对多关系,但我有兴趣跟踪projects
与特定关系之间的多对一关系user
,这是项目经理。理想情况下,我想在名为projects
的{{1}}表格中创建一个列,并将其链接到projectmanager_id
。但是,rails惯例规定我使用user
代替。虽然这有效,但我觉得语义不是很正确。有两种方法可以同时拥有吗?
我想到的一种方法是使用user_id
和projectmanagers
创建一个user_id
表,并在project_id
模型中设置has_many :projects, :through=> :projectmanagers
,{{ 1 {}在user
模型中。还有更好的方法吗?
答案 0 :(得分:1)
如果将db列保存为user_id,则可以尝试此操作: 在project.rb文件中:
belongs_to:projectmanager,:foreign_key => “user_id”,:class_name => “用户”
在你的user.rb文件中仍有:
has_many:projects
或者,如果您希望db列为projectmanager_id
在project.rb文件中:
belongs_to:projectmanager,:foreign_key => “projectmanager_id”,:class_name => “用户”
在您的user.rb文件中:
has_many:projects,:foreign_key => “projectmanager_id”,:class => “项目”