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

cra*_*aig 7 ruby ruby-on-rails faker

有没有办法让Faker gem生成"相关的"城市和国家代码值?

例如,

  • 温哥华,CA
  • 明尼苏达州明尼阿波利斯市

我这样做:

FactoryGirl.define do
  factory :location do
    ...
    city {Faker::Address.city}
    country_code {['US', 'CA'].sample}
    ...
  end
end
Run Code Online (Sandbox Code Playgroud)

但是不能保证city意志实际存在country_code.

我会满足于:

postal_code {Faker::Address.postcode(['US', 'CA'].sample) }
Run Code Online (Sandbox Code Playgroud)

然后我可以进行地理编码以获得其他值.

Agu*_*ico 4

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

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

然后您可以设置默认国家/地区以及您想要使用的州