我正在设计一个小应用程序,作为学习Ruby on Rails的一种方式,它将(希望)显示网络流量趋势。由于我基于的数据相当大(100万行),我们有三个表,按小时,按日和按月汇总数据。我很好奇,如果正确的方法是创建三个模型,尽管它们有相似之处,每种类型的数据一个。这似乎是我倾向于理解的方式,我最终必须进行一些重构以帮助消除重复编码。只是好奇是否有任何其他方法可以建议?
答案 0 :(得分:0)
您可以考虑使用STI(单表继承)。请阅读How (and When) to Use Single Table Inheritance in Rails了解详情。
来自文章:
在处理共享大部分相同功能和数据字段的模型类时,应考虑STI,但您作为开发人员可能希望对单独扩展或添加每个类进行更精细的控制。不是为多个表反复复制代码(而不是DRY)或放弃添加特殊功能或方法的灵活性,STI允许您在编写专用功能时使用将数据保存在单个表中。