问题标签 [citier]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
187 浏览

ruby-on-rails - Citier Gem 的 RSpec 测试失败 - 类表继承

我为联系人目录设置了以下模型

问题是联系人可以是一家公司,而运营商是一种添加了不同属性的公司。

由于单表继承不适用于这个特定的应用程序,我决定使用citier gem。

最后,我为每个模型准备了三个表。因此,当我添加一个 Company 对象时,我得到了两个条目,即一个在 Contact 中只有名称属性和 Company 表中的其他属性在两个表中共享相同的 id,两个表的 type 字段都设置为 Company。如果我添加一个运算符,则生成三个整体,即每个表中的一个共享相同的 id,前两个表的 Type 字段设置为 Operator。

我的应用程序显然工作正常,但是我的所有测试都被破坏了,即那些与这些模型有关的测试 - 加上最糟糕的部分是堆栈级别太深,因为我收到以下所有错误测试的错误消息。

rails_sql_views/connection_adapters/abstract_adapter.rb至少检查了文件中上述错误中的行号,它只有这一行:

我在这里使用的是 postgresql 数据库。

那是大约 300 个测试都被相同的消息打破了:(

请注意,所有损坏的测试都是那些涉及对这些模型进行任何类型更改的测试。

0 投票
1 回答
323 浏览

ruby-on-rails - Rails - Citier - 两级继承,子类不继承中间类属性

我正在尝试实现如下结构:GrandFather <- Father <- Son Using rails 和 gem citier。这个例子应该创建 2 个表来表示 3 个类:一个用于 Root 类(GrandFather)及其属性,另一个用于表示父类和子类(因为 Son 没有额外的属性)和父类的属性。

但是,如果我打开 rails 控制台并键入“Son.new”,则来自 GrandFather 的属性就在那里,但缺少来自父亲类的属性: