我是一个全新的开发者,所以这可能是一个愚蠢的问题。
我正在尝试设置一个webapp,用于存储地理数据的统计信息。
我想知道的是将Stat模型与Cities,Zips和Sub-Zips相关联;即每个统计模型属于城市,拉链或子拉链,而地理单位(城市,拉链,子拉链)可以有多个统计数据。
如何设置关联和迁移才能执行此操作?我已经查看了Rails指南,但它似乎没有涵盖一个对象可以属于不同模型(但只有一个)的关系。或者我应该以不同的方式设置我的模型?
答案 0 :(得分:1)
你说:
每个stat模型都属于city,zip或sub-zip而a 地理单位(city,zip,sub-zip)可以有多个统计数据。
所以我想你想设置Polymorphic Associations:
通过多态关联,模型可以属于多个 其他模型,单一协会。
所以你的关联可能是这样的:
class Stat
belongs_to :statsable, polymorphic: true
end
class City
has_many :stats, as: :statsable
end
class Zip
has_many :stats, as: :statsable
end
class Subzip
has_many :stats, as: :statsable
end
答案 1 :(得分:0)
这可以通过rails关联来完成。 以下链接详细解释了这一点,