![](/img/trans.png)
[英]Rails: How do I create a model with two “belongs_to” relations, one of which is always empty?
[英]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.