如何获取rails中所有国家和城市的列表?

是否有国家和城市gem,用户可以选择一个国家,根据选定的国家,他将选择一个城市?

我得到多种解决方案,但他们都支持州而不是城市

gem 'country_select' gem 'countries' gem 'carmen-rails' 

我想要一个下拉列表中的所有国家/地区列表,当我选择任何国家/地区时,所有国家/地区的城市都将显示在城市下拉列表中 这可能通过任何gem吗?

使用恰当命名的城邦gem 。


正如README所见,您可以:

 CS.cities(state, country) 

如果您想要某个国家/地区的所有城市,无论州,您都可以:

 CS.states(country).keys.flat_map { |state| CS.cities(state, country) } 

列出所有国家:

 CS.countries 

很酷的是它使用来自MaxMind的数据,因此您可以确保列表是最新的。 要刷新列表,您可以运行:

 CS.update 

唯一的缺点是它需要运行rails(特别是主动支持)才能运行,但在您的情况下这不是问题。

你可以试试jQuery插件 – bootstrap状态选择器

在您的应用程序中包含插件之后

您可以像这样使用它(例如来自http://bootstrapformhelpers.com/state ):

   

您可以使用Bootstrap的国家选择器jQuery插件,如下所示:

  

我的建议是,除非你能100%确定列表是准确和完整的 (并且我怀疑这是可能的),所以不要这样做

我已经在新加坡和其他地方的网站上注册,我必须从不包括我的城镇(以及许多其他)正确城镇(我住在美国)的城市下拉列表中进行选择。 我被迫在很远的地方选择了一个不正确的值因为列表非常不完整而且不允许我不选择任何东西。

至少,如果您想提供选择,请允许用户输入未包含在这些选项中的值。