我有一个具有以下属性的模型:
# lonlat :geography({:srid point, 4326
使用Faker,我如何为此创建一个值?
FactoryBot.define do
factory :my_table do
# ...
lonlat { }
# ...
end
end
答案 0 :(得分:1)
根据Faker的文档,构建坐标可以使用:
lon = Faker::Address.longitude
lat = Faker::Address.latitude
在这里您可以找到Faker的所有方法: How to call recreate()?
如果您使用activerecord-postgis-adapter
,则可以使用提供的工厂:
FactoryBot.define do
factory :my_table do
# ...
lonlat { factory.point(lon, lat) }
# ...
end
end
答案 1 :(得分:0)
您没有具体说明这些功能的用途,因此我无法确切告诉您如何构建mysql(auto_increment)
对象,但是您可以使用以下内容来构建坐标。
纬度是-90到90之间的数字,而经度是-180到180之间的数字,因此这将为您提供有效的坐标对,然后您可以根据需要使用。
lonlat
答案 2 :(得分:0)
型号名称:点。 数据库列名称:纬度,经度。
在seed.rb
factory :points do
latitude { Faker::Points.latitude }
longitude { Faker::Points.longitude }
end
然后在终端
rake db:seed