0
我正在尋找以下設計方法。我有三個模型被用於生成樹狀菜單[區域,團體,項目](祖先寶石)共享外鍵
class Region < ActiveRecord::Base
has_many :groups
has_many :items
end
class Group < ActiveRecord::Base
belongs_to :region
has_many :items
has_ancestry
end
class Item < ActiveRecord::Base
belongs_to :region
belongs_to :group
end
正如你可以看到我有分配給兩個組和項目的建設爲目的的區域menutree:地區=>小組=>項目。
項目的區域在整個應用程序中被廣泛使用,但是該組的區域僅在渲染菜單時使用。
我不喜歡該組的區域可能與其項目的任何區域或其任何後代不同。我確信,從該組繼承該項目的區域並不合適,因爲項目可能沒有一個組,也不能從該項目的唯一區域繼承其區域(因爲如果有不同區域的項目包含由同一組相同的組將出現兩次在不同的地區)
任何人都可以提出另一種方法呢?