postgres データベースを使用する Rails 3.2.13 では、いずれかの列にエイリアスが設定されていると、アプリのテーブルの 1 つでエラーが発生します。
これは 1 つのテーブルでのみ発生します。これは、名前が最も長いテーブルです (関連する場合)。コンソールで:
MyEngine::SpeciesValuation.select('my_engine_species_valuations.id as ida').first.ida
(列名の前にテーブル名が付いていない場合とまったく同じ結果)
与えます:
*** NoMethodError Exception: undefined method `ida' for nil:NilClass
このテーブルの任意の列に別名があると、同じエラーが発生します。列名をエイリアス名として使用する場合を除きます。EG "id as id" または "count(id) as id" は問題ありません。
エラーには「nil:NilClass」と表示されますが、クエリは期待される型のオブジェクトを返しますが、エイリアス名に応答しないことに注意してください。