如何从country_select gem中将国家/地区列表提取到数组中

时间:2017-07-25 08:15:50

标签: ruby-on-rails x-editable

我正在尝试提取所有国家/地区名称的列表,并将它们放入country_select gem的数组中。在表单中添加一个选择字段时,如何利用这个gem非常清楚:

<%= form_for User.new, url: root_url do |f| %>
  <%= f.country_select :country_code %>
<% end %>

但是,如果我需要在表单之外使用相同的国家/地区列表,该怎么办?就我而言,我正在使用X-editable-rails gem进行内联编辑。我的目标是为国家/地区属性提供内联版本。为此,我必须指定选择列表的来源,如下所示:

<%= editable @waiter, :country, type: :select, title: 'Your country', source: ["Country_1", "Country_2", "Country_n"] %>

但是,我无法想出一种方法来提取该列表并将其放入变量中。

我在这个stack overflow answer中尝试了这两种建议的方式:

@countries = ActionView::Helpers::FormOptionsHelper::COUNTRIES.zip(ActionView::Helpers::FormOptionsHelper::COUNTRIES)

<%= @countries = ActionView::Helpers::FormOptionsHelper::COUNTRIES %>

有人可以帮忙解决这个问题吗?

1 个答案:

答案 0 :(得分:3)

country_select gem将countries gem作为依赖项。宝石提供了与国家合作的发现者和其他有用的方法。

ISO3166::Country.all_translated可能是您正在寻找的方法。