如何使用造假者来产生分数?

时间:2019-01-28 04:32:51

标签: ruby-on-rails faker

我有一个具有以下属性的模型:

#  lonlat         :geography({:srid point, 4326

使用Faker,我如何为此创建一个值?

FactoryBot.define do
  factory :my_table do
    # ...
    lonlat { }
    # ...
  end
end

3 个答案:

答案 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

更多: https://www.rubydoc.info/github/stympy/faker/index

答案 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