2010-12-01 12 views
0

私はレール3.0.3を使用しており、クエリという名前のモデルがあります。私は「すべて」またはアプリケーションからの照会に「見つける」(私はUserモデルからそれを呼んでいた)を呼び出すとき、それは私がレールに確認したようにモデル名 "Query"はレール3で動作しませんか?

ActiveRecord::AttributeMethods::Query` 

内のモジュールの問い合わせがある

"NoMethodError (undefined method `all' for ActiveRecord::AttributeMethods::Query:Module):" 

を語ります:

activerecord/lib/active_record/attribute_methods/query.rb: 

しかし、コンソールから呼び出すとうまくいきます。

ヘルプ、情報?

ありがとうございました。 Pravin。

答えて

3

クエリはおそらく予約語です。 reserved wordsの公式リストには載っていませんが、レールが競合するファイルを見つけています。回避策としてモデル名を変更するだけです。

+0

はい、チケットに変更済みです。 – Pravin

+0

確認しましたが、レール3.0.0で "Query"というモデルで同じ問題が発生しました。それをFooQueryに変更することも私の仕事でした。 – wonderfulthunk

+0

Rails 3.2.13で確認済みです。モジュールはQueryと同様に競合します。私は '__ :: __ :: Query'という名前の関心事を使ってみましたが、すべての内部メソッドに対して未定義のメソッドエラーを受け取りました。 –

関連する問題