【问题标题】:Rails find countries by regionRails 按地区查找国家/地区
【发布时间】:2014-01-08 18:19:20
【问题描述】:

我正在使用 Country gem https://github.com/hexorx/countries,需要帮助

list = Country.find_all_countries_by_region('Americas') 

我有以下方法

def get_Americas_countries
        @job_countries = Refinery::Jobs::Job.select("DISTINCT(country)").all
       # ::ISO3166::Country.find_all_countries_by_region('Americas')
end

在我的应用程序控制器中,我获取所有国家/地区的列表,但我只想获取来自美洲地区的国家/地区。我无法弄清楚我该怎么做。任何帮助将非常感激。

【问题讨论】:

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


    【解决方案1】:
    def get_Americas_countries
      list = Country.find_all_countries_by_region('Americas').map(&:alpha2)
      @job_countries = Refinery::Jobs::Job.select("DISTINCT(country)").where(:country => list)
    end
    

    [编辑]

    列表现在是国家代码数组

    【讨论】:

    • 感谢 Slicepan,我得到了 nil:NilClass 的“未定义方法‘数据’,当使用列表时,你知道吗?
    • name是国名吗?我现在得到一个空数组。我在美国地区列出了两个工作。但现在我 —— []?在工作模型上,我得到这样的国家名称“def country_name ::ISO3166::Country[country] end”
    • 这里是后查询: Refinery::Jobs::Job Load (0.6ms) SELECT DISTINCT(country) FROM "refinery_jobs" WHERE "refinery_jobs"."country" IN ('Antigua and Barbuda', “安圭拉”、“荷属安的列斯群岛”、“阿根廷”、“阿鲁巴”、“巴巴多斯”、“圣巴泰勒米”、“百慕大”、“玻利维亚”、“博内尔岛、圣尤斯特歇斯和萨巴岛”、“巴西”、“巴哈马” , '伯利兹', '加拿大', '智利', '哥伦比亚', '维尔京群岛, 美国)
    • 好的,那么美国地区列出的两个工作的国家列的值是多少?它与这些国家名称中的任何一个匹配吗?
    • mx,我在 maxico 发布了一份工作,我使用 alpha2 代码来存储国家/地区名称。我缩减了国家列表,因为编辑无法发布那长长的列表。但 maxico 在列表中。让我试试欧洲吧。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-19
    • 1970-01-01
    • 1970-01-01
    • 2015-01-07
    • 2011-12-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多