【发布时间】:2014-03-23 02:33:42
【问题描述】:
我有一个包含位置属性的模型,由 RGeo::Cartesian::Point 对象表示,并作为空间数据存储在我的数据库中。
为了运行测试,我需要通过fixtures创建一些这样的模型样本。
我尝试了几种不同的语法来初始化 erb YAML 中的 location 属性,但都没有奏效。
我该怎么做?
【问题讨论】:
标签: ruby-on-rails rgeo
我有一个包含位置属性的模型,由 RGeo::Cartesian::Point 对象表示,并作为空间数据存储在我的数据库中。
为了运行测试,我需要通过fixtures创建一些这样的模型样本。
我尝试了几种不同的语法来初始化 erb YAML 中的 location 属性,但都没有奏效。
我该怎么做?
【问题讨论】:
标签: ruby-on-rails rgeo
我遇到了同样的挑战,我使用 FactoryGirl 来定义空间数据:
factory :obj, class :class do
geo "POINT(48.32414 2.12665)"
...
end
【讨论】:
我们使用的对象类型略有不同,但使用 RGeo 库,我能够在 Rails 测试夹具 .yml 文件中创建一个 RGeo 点,如下所示:
bbq_restaurant:
location: <%= RGeo::Cartesian.factory(:srid => 4326).parse_wkt("POINT(-94.621023 39.044396)") %>
【讨论】: