簡體   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