2

如果我有一個模型可以屬於其他十個模型之一,我需要模型中的十個不同的_id屬性,每個記錄留下九個空白?或者有更好的方法來安排它?Rails:許多父母之一

謝謝。

回答

2

作爲的Jakub建議,你可以使用一個polymorphism如下:

class Bar < ActiveRecord::Base 
    belongs_to :foo, polymorphic: true 
    ... 
end 

class Foo1 < ActiveRecord::Base 
    has_many :bars, as: :foo 
    ... 
end 

class Foo2 < ActiveRecord::Base 
    has_many :bars, as: :foo 
    ... 
end 

... 

class Foo9 < ActiveRecord::Base 
    has_many :bars, as: :foo 
end 

這將在bars表使用單一id屬性,但包括一個額外的類型字段來指定哪些foo類型它引用至。

+0

感謝您的細節! – 2014-08-28 01:43:03