2016-11-27 12 views
0

私は大規模なWebアプリケーションで作業しています。私は、 "type"という言葉はRubyのキーワードであり、列として使うべきではないことを理解しています。しかし、どうして私のローカルサーバー上でWebアプリケーションを実行しても問題なく、運用環境に明らかな問題はないのはなぜですか?今後、「タイプ」を列として使用すると何らかのトラブルが発生する可能性はありますか?"Type"はキーワードとして使用され、RSpecでは例外が発生しますが、本番環境や開発環境では使用されません

この動作は、ビデオ(リソースの1つ)を作成して表示ビューにリダイレクトするときにRSpec機能テストが失敗するため、さらに混乱します。 (ビデオは、「タイプ」を列として持ついくつかのテーブルとの関連付けを持つ属性としてビデオに注意してください)。

これが発生したエラーメッセージです:この例外は私のテストスペックではなく育ちでしょうなぜ

"The single-table inheritance mechanism failed to locate the subclass: 'reference'. This error is raised because the column 'type' is reserved for storing the class in case of inheritance. Please rename this column if you didn't intend it to be used for storing the inheritance class or overwrite Tag.inheritance_column to use another column for that information."

print page.bodyによって生成され、表示されたHTMLから引き出さ)

開発環境や生産環境はどうですか? (あなたはこのエラーを回避するための方法でお使いのデバイスを持っているので、私はそれがあまりにも参考になる、テスト仕様をまとめるを担当しています!)私の設定の

注:

  • 私は」 Mそれはルビー2.1.2を使用して、ウェブドライバとして

答えて

0

をカピバラ、工場の少女、そしてカピバラ-のWebKitを使用し4.1.1

  • レール結局のところ、スキーマ内の明示的な型の列があったもののリソースのサブクラスから引き出されました。 RSpecに問題があったのは、型の列をサブクラス化せずに定義しようとしていたからです。解決策は、型にデータを入力するときにサブクラス化された表記法を使用することでした。私の場合、これはタイプ列の文字列を"reference"ではなく"Tags::Reference"とする必要があることを意味します。

  • 関連する問題