【发布时间】:2011-06-03 12:36:19
【问题描述】:
我目前正在努力制作一个嵌套类型的对象模型,我很好奇我将如何使用 Rails 3 处理这个问题。
基本上我有以下几点:
- 断言
- Expression_Group
- 表达式
断言由 1-N 个 Expression_Groups 组成。 Expression_Groups 由 1-N 个表达式组成。 ORM 对我来说棘手的部分是,Expression_Groups 也可能由其他 Expression_Groups 组成。
想象一个 SQL SELECT 并假设我们正在构建 WHERE 子句。
((V > 2 AND X = 0) OR (Y > 2 OR (Z = 4 OR S <> 2)))
当看到类似的东西时,我们可以把它分解并说:
Z = 4 - Expression
(Z = 4 OR S <> 2) - Expression Group
(Y > 2 OR (Z = 4 OR S <> 2)) - Expression Group CONTAINING Expression AND Expression_Group
等等。我想做的是让用户能够构建该结构。我想使用 Rails 3 并以这样一种方式构建我的模型,这样我就不必滚动你自己的处理器并且可以简单地使用它们的形式。
我知道如何设置每个关系,除了包含 Expression_Groups 的 Expression_Groups。
有什么想法吗?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 activerecord