使用Faker gem生成相关的城市,邮政编码,国家/地区代码值

时间:2014-07-25 22:13:58

标签: ruby-on-rails ruby faker

有没有办法让Faker gem生成“相关的”城市和国家/地区代码值?

例如,

  • 加利福尼亚州温哥华
  • 明尼苏达州明尼阿波利斯

我这样做:

FactoryGirl.define do
  factory :location do
    ...
    city {Faker::Address.city}
    country_code {['US', 'CA'].sample}
    ...
  end
end

但无法保证city实际上会驻留在country_code

我会满足于:

postal_code {Faker::Address.postcode(['US', 'CA'].sample) }

然后我可以对其进行地理编码以获取其他值。

2 个答案:

答案 0 :(得分:4)

您可以根据区域设置进行自定义:https://github.com/stympy/faker#customization

因此,您可以创建或修改区域设置文件,请参阅此示例:https://github.com/stympy/faker/blob/master/lib/locales/en-NEP.yml

然后,您可以设置默认国家/地区应该是什么,以及您要使用哪些州?

答案 1 :(得分:0)

尝试一下:

Faker::Address

还有其他选项:

Faker::Address.city