在活動記錄中引用同一模型是否有可能擁有並且屬於許多關係?HABTM與自我的關係?
我想建模一個兄弟型的關係。
class Child < ActiveRecord::Base
has_and_belongs_to_many :siblings
end
到目前爲止,我已經創建了一個兄弟姐妹鏈接表:
class CreateSiblings < ActiveRecord::Migration
def change
create_table :siblings do |t|
t.integer :child1_id
t.integer :child2_id
t.timestamps
end
end
end
但我擔心這將導致我爲了得到在實際情況下寫醜陋的代碼:
siblings = []
child1.siblings.each do |s|
siblings << s.child2
end
我寧願能夠通過寫作得到一組兒童:
child1.siblings
我想知道我的鏈接表和模型關聯應該如何支持這一點?
感覺就像我缺少一些非常明顯的東西。
我在Rails 3.1上。謝謝你的幫助!
據我看到的,兄弟姐妹總是喜歡parent.children減去實際的孩子,所以我乍一看,這額外的表似乎是不必要的開銷。至少只要你不添加更多的功能或信息。當然你需要這個嗎? – 2012-02-29 12:12:18
不幸的是,請參閱我對Ekampp的評論。在我的模型中,兒童有法定監護人,他們可能會這樣做,但並不總是與他們的兄弟姐妹分享。 – Chris 2012-02-29 12:29:39