我在模型中使用整数列作为位掩码来存储关于对象的不同潜在属性。我使用掩码是因为固定数量的类别永远不会改变,因此将其作为记录存储在数据库中是不准确的。但是,可能存在与类别相关的无限数量的子类别。我无法理解如何建立这种关联。
我们说我的产品型号有两种类型的成本类别,例如制造和安装。每个成本类别至少有一个子类别,这是进入制造,进入安装的内容。例如,制造可能包括购买特定零件,但这不是安装的一部分。问题是,如何在制造和子类别之间建立一对多的关系?
我已经设置了产品模型以使用这个gem的位掩码:https://github.com/joelmoss/bitmask_attributes。
class Product < ActiveRecord::Base
bitmask :cost_categories, as: [:manufacture, :installation]
end
class SubCategory < ActiveRecord::Base
belongs_to ...
end
我可以轻松添加或检查类别,但我不知道如何将:manufacture
或:installation
与单独的模型相关联。
我希望能够做到这样Product.first.cost_categories.first.subcategories
如何在不同的位掩码属性之间添加子类别关系?这可能吗?