10 ruby rubygems ruby-on-rails countries
是否有国家和城市宝石,用户可以选择一个国家,并根据选定的国家,他将选择一个城市?
我得到多种解决方案,但他们都支持州而不是城市
gem 'country_select'
gem 'countries'
gem 'carmen-rails'
Run Code Online (Sandbox Code Playgroud)
我想要一个下拉列表中的所有国家/地区列表,当我选择任何国家/地区时,所有国家/地区的城市都会显示在城市下拉列表中 这可能通过任何宝石吗?
ndn*_*kov 21
使用恰当命名的城邦宝石.
正如README所见,您可以:
CS.cities(state, country)
Run Code Online (Sandbox Code Playgroud)
如果您想要某个国家/地区的所有城市,无论州,您都可以:
CS.states(country).keys.flat_map { |state| CS.cities(state, country) }
Run Code Online (Sandbox Code Playgroud)
列出所有国家:
CS.countries
Run Code Online (Sandbox Code Playgroud)
很酷的是它使用来自MaxMind的数据,因此您可以确保列表是最新的.要刷新列表,您可以运行:
CS.update
Run Code Online (Sandbox Code Playgroud)
唯一的缺点是它需要运行轨道(专门支持主动支持),但在您的情况下这不是问题.
你可以试试jQuery插件 - bootstrap状态选择器
在您的应用程序中包含插件之后
您可以像这样使用它(例如来自http://bootstrapformhelpers.com/state):
<select id="countries_states1" class="form-control bfh-countries" data-country="US"></select>
<select class="form-control bfh-states" data-country="countries_states1"></select>
Run Code Online (Sandbox Code Playgroud)
小智 5
您可以使用Bootstrap的国家选择器jQuery插件,如下所示:
<select class="form-control bfh-countries" data-country="US"></select>
Run Code Online (Sandbox Code Playgroud)
我的建议是,除非您可以 100% 确定列表是准确和完整的(我怀疑这是否可能),否则不要这样做。
我已经在新加坡和其他地方的网站上进行了注册,在那里我必须从不包括我所在城镇(和许多其他)正确城镇(我住在美国)的城市下拉列表中进行选择。我被迫在很远的地方选择了一个不正确的值,因为列表非常不完整,不允许我不选择任何内容。
至少,如果您想提供选择,请允许用户输入未包含在这些选择中的值。