我有一个应用程序,我想通过另一个模型(即Task1> Relationship 基本上,关系模型将具有额外信息(type_of_relationship,lag),因此将其作为连接模型是理想的.但是,没有两个模型可以加入,只有一个......自己.has_many:还能继续吗?如果是这样,联接表将如何显示?使用Rails约定,您将有两个名为Activity_id的列,这显然不适用于数据库. 或者,我可以使用has_many_and_belongs_to在任务模型和关系模型之间设置多个但我不确定这是否准确地描述了一个只能在任何一个关系模型中链接两个任务模型的关系(当然,当然任务可能属于多个关系,因此可能属于多个关系. 我的直觉说要使用has_many_and_belongs_to并对模型中的规则进行排序,但是有更好的方法吗?我正绕着这一圈转圈! 任何帮助赞赏. has_many:完全符合你的情况.我不知道你的模型的细节,但是假设你有用户,每个用户都可以有其他用户作为联系人.您可以按如下方式对此情况建模:
1> Milan Novota..:class User < ActiveRecord::Base
has_many :contact_records, :foreign_key => :owner_id
has_many :contacts, :through => :contact_records, :class_name => "User"
end
class ContactRecord < ActiveRecord::Base
belongs_to :owner, :class_name => "User"
belongs_to :user
end