Ruby on Rails で Postgis アダプターを使用しており、本番環境に Heroku で Puma を使用しようとしています。私たちのテストは、開発システムで問題なくパスしました。また、サーバーは Heroku 以外のすべての本番サーバーで完全に動作しますが、Heroku + Puma (または Unicron) で実行すると、例外が発生します。
ちなみに、Heroku で Webrick を使用してデプロイすると、アプリケーションはスムーズに動作します。
デフォルトの Web サーバーとして puma (および後で試した場合は unicorn) を使用すると、すべてがうまくいきますが、次のことが 1 つあります。
ハイブの場所を追跡するために RGeo gem を使用しています。Puma (Unicorn) に切り替えると、Javascript ビューでand を呼び出す@hive.current_location.lon
と、次のエラーがスローされます。@hive.current_location.lat
ActionView::Template::Error (undefined method 'lon' and 'lat' for #<RGeo::Cartesian::PointImpl:0x007f700846c970>)
その間、私は現在の場所の緯度と経度にアクセスしようとしましたheroku run rails console
興味深いことに、Heroku コンソールで緯度と経度の値をフェッチすると、正しい値が返されます。問題は puma と unicorn に起因するようです。
なにか提案を?