rails (4.0.4)、ruby (2.0.0p247)、activerecord-postgis-adapter (0.6.5)、./config/environment.rb (ActiveRecord::Base.pluralize_table_names = false) に設定された単一のテーブル名を使用しています。
これは、開発およびテスト環境でうまく機能します。
本番環境では、1 つのプロジェクトを除くすべてのテーブルで機能します。このテーブルでは、コントローラ インデックスにエラーが表示されています。
私は足場を再生成し、project_controllers のこの行で問題を特定することができました:
set_rgeo_factory_for_column(:場所、RGeo::Geographic.spherical_factory(:srid => 4326))
エラーは次のとおりです。
E, [2014-04-11T10:23:09.543299 #10740] ERROR -- : PG::UndefinedTable: ERROR: relation "projects" does not exist
LINE 5: WHERE a.attrelid = '"projects"'::regclass
^
: SELECT a.attname, format_type(a.atttypid, a.atttypmod),
pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod
FROM pg_attribute a LEFT JOIN pg_attrdef d
ON a.attrelid = d.adrelid AND a.attnum = d.adnum
WHERE a.attrelid = '"projects"'::regclass
AND a.attnum > 0 AND NOT a.attisdropped
ORDER BY a.attnum
I, [2014-04-11T10:23:09.543625 #10740] INFO -- : Completed 500 Internal Server Error in 7ms
F, [2014-04-11T10:23:09.545403 #10740] FATAL -- :
ActiveRecord::StatementInvalid (PG::UndefinedTable: ERROR: relation "projects" does not exist
LINE 5: WHERE a.attrelid = '"projects"'::regclass
^
: SELECT a.attname, format_type(a.atttypid, a.atttypmod),
pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod
FROM pg_attribute a LEFT JOIN pg_attrdef d
ON a.attrelid = d.adrelid AND a.attnum = d.adnum
WHERE a.attrelid = '"projects"'::regclass
AND a.attnum > 0 AND NOT a.attisdropped
ORDER BY a.attnum
): app/controllers/projects_controller.rb:11:in `index'
他のすべての環境で機能するのは本当に奇妙に思えますが、本番環境では、1 つのテーブルと関連するテーブルでのみ失敗します。
任意の提案をいただければ幸いです。