繁体   English   中英

Rails 3 - 与自身具有一对一关系的 model - 我需要belongs_to

[英]Rails 3 - A model with a one to one relationship to itself - do I need belongs_to

我有一个名为 Person 的 model。 它有两个属性 - name 和 parent_person_id

一个人总会有一个父母。

我应该在 model 中使用 belongs_to 吗? 如果是这样,这样做有什么好处。

class Person < ActiveRecord::Base
    belongs_to :person
end

我还没有尝试过这段代码,我的正常 mysql 方式似乎有点不对劲。

我在这里寻找意见比什么都重要,我对 Rails 很陌生,想确保我做事正确,以“Rails 方式”做事。

我建议使用像祖先这样的宝石来构建这样的树结构。 它为您提供了您的关联以及许多实用方法(查找父、子、兄弟、检索子树)。

如果您不希望这样,那么在您的 belongs_to 关联中必须如下所示:

belongs_to :person, :foreign_key => "parent_person_id"

因为没有这个选项,rails 会寻找 person_id 的外键,如果没有找到,就会 点燃你的 CPU 并 抛出错误消息。

是的,您将需要belongs_to ,因为这将告诉 rails 这种关系。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM