加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Rails 3 – 与自身具有一对一关系的模型 – 我

发布时间:2020-12-17 03:45:23 所属栏目:百科 来源:网络整理
导读:我有一个名为Person的模型.它有两个属性–name和parent_person_id 一个人总是会有一个父母. 我应该在模型中使用belongs_to吗?如果是这样,这样做有什么好处. class Person ActiveRecord::Base belongs_to :personend 我还没试过这个代码,看起来我的正常mysql
我有一个名为Person的模型.它有两个属性–name和parent_person_id

一个人总是会有一个父母.

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

class Person < ActiveRecord::Base
    belongs_to :person
end

我还没试过这个代码,看起来我的正常mysql方式有点不对.

我在这里寻找的意见比什么都重要,我对铁轨很陌生,并且想确保我做得很好,按照Rails的方式做事.

解决方法

我建议使用像 ancestry这样的宝石作为这样的树状结构.它为您提供了关联以及许多实用方法(查找父级,子级,兄弟级,检索子树).

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

belongs_to :person,:foreign_key => "parent_person_id"

因为没有那个选项,rails会查找person_id的外键,而不是发现它,点燃你的CPU就会抛出一条错误信息.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读