アプリケーションを本番環境に複製すると、私のPOSTGISテーブルの列が正しく動作しなくなり、Railsは「不明なOID 26865」があり、フィールドがStringとして扱われることを通知しました。Railsの「不明なOID」エラーの原因は何ですか?
eを生成するcurrent_posの代わりに。 g。 #<RGeo::Geographic::SphericalPointImpl:0x22fabdc "POINT (13.39318248760133 52.52908798020595)">
0101000020E6100000FFDD958664C92A403619DEE6B2434A40
となります。 activerecord-postgis-adapterがインストールされていないか、ひどくインストールされているように見えましたが、データ型RGeo :: Feature :: Pointが存在するかどうかテストし、フィールドに current_pos = "POINT (13.39318248760133 52.52908798020595)"
を割り当てて、エラーなしで進んだが、上記のような理解できない別の16進文字列を生成した。
また、奇妙なことに、POSTGISはデータベース内で正しく動作していました。 ST_DISTANCE照会に対して正しい結果が得られます。このように、書き込み、書き込み構文解析(ポイントから16進形式への変換)、SQLによる操作、およびすべての読み込みが行われた場合、読み込み時の構文解析だけが行われなかった非常に限られた問題です。
私はデータベースの列が
undefined method `st_point' for #<ActiveRecord::ConnectionAdapters::PostgreSQL::TableDefinition:0x00000005cb80b8>