我想在db表中存储AND
OR
逻辑和详细信息,我使用activerecord和Postgres。
这是一个简化的示例:
我有一个名为FulfillmentRules
的表,其中包含以下字段:
order_element #like product
element_detail #like color
is_equal_to
字符串
用户可以创建一个逻辑语句,如:如果productis_equal_toblue,则执行一些操作..
但是,它们也可以创建此逻辑的附加级别。因此,而不是仅仅一行,然后可以添加逻辑运算符AND / OR
因此,用户生成的逻辑可能如下:如果product****coloris_equal_toblue且product*sizeis_equal_tolarge**执行操作
我的FulfillmentRules
表可以捕获详细信息,但问题是在某种程度上还存储了逻辑。
我怎么能做到这一点?
1条答案
按热度按时间yduiuuwa1#
由于您使用UI中可用的选项限制了过滤逻辑的灵活性,因此我将创建一个名为FilterRule的模型,其中:
字符串
因此FulfillmentRule示例可能具有关联的filter_rule记录
型
这是一个小小的DSL,用于您所询问的小示例。不是大型电子商务网站可能使用的那种DSL。