問題タブ [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 テストが失敗する - クラステーブルの継承

連絡先ディレクトリ用に次のモデルをセットアップしました

問題は、連絡先が会社であり、オペレーターがさまざまな属性を追加した一種の会社であるということです。

この特定のアプリケーションでは単一テーブルの継承が機能しなかったため、 citer gem を使用することにしました。

最終的に、モデルごとに 3 つのテーブルがあります。したがって、Company オブジェクトを追加すると、2 つのエントリが作成されます。1 つは Contact に名前属性のみがあり、Company テーブルの他の属性は両方のテーブルで同じ ID を共有し、両方のテーブルのタイプ フィールドが Company に設定されています。Operator を追加すると、3 つの全体が作成されます。つまり、各テーブルに 1 つずつ、同じ ID を共有し、最初の 2 つのテーブルの Type フィールドが Operator に設定されます。

私のアプリケーションは明らかに正常に動作しますが、すべてのテスト、つまりこれらのモデルに関するテストが壊れています。さらに、最悪の部分は、すべての壊れたテストに対して次のエラー メッセージが表示されるため、スタック レベルが深すぎることです。

rails_sql_views/connection_adapters/abstract_adapter.rb上記のエラーの行番号について少なくともファイルのチェックを行ったところ、次の行が含まれています。

ここでは postgresql データベースを使用しています。

それは約300のテストがすべて同じメッセージで壊れています:(

すべての壊れたテストは、これらのモデルへの何らかの変更を伴うものであることに注意してください。

0 投票する
1 に答える
323 参照

ruby-on-rails - Rails - Citier - 2 レベルの継承、子クラスは中間クラスの属性を継承しません

私は次のような構造を実装しようとしています: 祖父 <- 父 <- 息子 Rails と gem citier を使用します。この例では、3 つのクラスを表す 2 つのテーブルを作成する必要があります。1 つはルート クラス (GrandFather) とその属性用、もう 1 つは父と子のクラス (子には追加の属性がないため) と父の属性を表すためのものです。

しかし、Rails コンソールを開いて「Son.new」と入力すると、GrandFather の属性はありますが、Father クラスの属性はありません。