我目前有一个名为Skill
的模型。我希望技能有可能具有parents
和children
技能。
我现在有什么:
class Skill < ActiveRecord::Base
has_many :children, foreign_key: :parent_id, class_name: Skill
has_many :parents, foreign_key: :child_id, class_name: Skill
end
但是,这并没有在我为此创建的联接表(skill_relations
)上获得。
我如何指定我创建的表,或者连接表的正确名称应该是什么,以便rails可以自动选择这种关系?
答案 0 :(得分:0)
当您使用has_many
时,Rails会假定相关联的表格可以从您提供的符号中导出(例如children
的表格:children
)。
如果您想要一个单独的“关系”表,请使用through
参数指定它,如:
has_many :children, foreign_key: :parent_id, through: :skill_relations
has_many :parents, foreign_key: :child_id, through: :skill_relations