我有一个 Rails 应用程序,它使用包含多个范围的大型模型。例如 foo_min、foo_max、bar_min、bar_max 等。
现在我将这些中的每一个都存储在模型本身上,我猜这没问题。但是我担心如果有 10 个范围(= 20 个字段.. yikes),我的模型会变得太大。
我在想的是制作一个存储最小值/最大值的通用 Range 模型。然后我的模型可以有
class Example
belongs_to :foo, class_name: 'Range'
belongs_to :bar, class_name: 'Bar'
end
我对此的担忧是,我将在 Range 表中存储一堆原本不相关的模型。Foo/Bar 可能完全不相关,它们仅在上下文中有意义,Example
但它们存储在同一个表中。
这种方法是否比仅存储可能的许多 _min 和 _max 字段更好?有没有更好的方法?