我们将 Postgis 适配器与 Ruby on Rails 一起使用,并且我们正在尝试将 Puma on Heroku 用于我们的生产环境。我们的测试在开发系统上完美通过。此外,该服务器在除 Heroku 之外的所有生产服务器上都能完美运行,但是一旦我们在 Heroku + Puma(或 Unicron)上运行它,就会出现异常。
附带说明一下,当在 Heroku 上使用 Webrick 部署时,应用程序可以顺利运行。
当使用 puma(稍后尝试使用 unicorn)作为默认 Web 服务器时,一切都很顺利,但只有一件事:
我正在使用 RGeo gem 来跟踪一些蜂巢位置。当切换到 Puma (Unicorn) 时,在我的 Javascript 视图中调用@hive.current_location.lon
和@hive.current_location.lat
抛出错误:
ActionView::Template::Error (undefined method 'lon' and 'lat' for #<RGeo::Cartesian::PointImpl:0x007f700846c970>)
同时,我尝试通过以下方式访问 current_location 经纬度heroku run rails console
有趣的是,在 Heroku 控制台上获取 lat 和 long 值会返回正确的值。看来问题是由美洲狮和独角兽引起的。
有什么建议吗?