Rails用Countries gem查询

时间:2017-06-11 20:19:09

标签: ruby-on-rails rails-activerecord countries

我有一个模型:Car。每辆车属于Museum,每个博物馆都在一个特定的国家。该国家/地区存储为两个字符的国家/地区代码。

然后我使用Countries gem查找使用该alpha2代码的国家/地区的所有详细信息。

我想要做的是从特定大陆撤出数据库汽车。 Countries宝石有一个国家属于哪个大陆的详细信息,但我却陷入了如何从特定大陆获取所有汽车的问题。

有人能指出我正确的方向吗?

由于

1 个答案:

答案 0 :(得分:2)

假设汽车 belongs_to :museum博物馆有一个名为country的列,我将通过以下方式解决此问题:

  1. 获取特定大陆的所有alpha2国家/地区代码:

    country_codes = ISO3166 :: Country.find_all_countries_by_continent('Europe')。map(&:alpha2)

  2. 使用AR查询加载汽车:

    cars = Car.includes(:museum).where(musems:{country:country_codes})