【发布时间】:2017-03-31 01:36:57
【问题描述】:
我有一个名为AnswerConnection 的模型,它有两个来自Answer 模型的外键:answer_1 和answer_2。
在我定义的Answer 模型中:
has_many :connections, through: :answer_connections, source: :answer_2
但是,这种关系是对称的:如果 answer_1 连接到 answer_2,则 answer_2 连接到 answer_1。这意味着当我搜索特定答案的连接时,我需要检查它是否存在于 answer_1 或 answer_2 字段中。
有可能定义一个参与这个的关系(比如如果我可以在:source 参数中定义两个值)?
【问题讨论】:
-
听起来你想使用 has_and_belongs_to_many,或者如果你想在 AnswerConnection 模型中放置其他字段,可能会使用 has_many_through
-
是的,我的
Answer模型与AnswerConnection模型有has many through关系。但是,我想从我的 Answer 模型中获得它的连接,同时尊重所描述的这种对称关系。 -
哦,抱歉,我错过了关键点,即它是一个自我参考关联。见这里:stackoverflow.com/questions/19770888/…
标签: ruby-on-rails ruby activerecord