如何使用Countries gem

时间:2014-09-24 03:10:48

标签: ruby-on-rails ruby-on-rails-4 gem countries

我正在尝试使用Countries Gem,但在我已经捆绑安装它之后,有一些关于如何合并这个宝石的基本问题。

  1. 我是否需要创建新的控制器/模型才能访问这些国家/地区?
  2. 如何创建简单的选择下拉列表以显示供用户选择的国家/地区列表?
  3. 所有国家/地区都存储在哪里? (我在Gem中看到了数据文件,但需要清楚一些如何将它带入我自己的应用程序中)

2 个答案:

答案 0 :(得分:2)

1)您不需要新的控制器/型号来访问国家/地区

2)有example app on the README page向您展示如何使用表单和下拉列表。

3)这些国家/地区是应用内的商店。我相信country_select包含ISO 3166 gem以获取国家/地区列表。您可以在countries.yaml文件

中查看数据

如果想知道其他任何事情,我建议您查看example app。它提供了如何使用gem的一个很好的例子。

答案 1 :(得分:1)

您无需创建新的控制器/模型即可使用gem。

为了您创建下拉列表,只需安装country_select gem(如文档中所述)

然后使用它,只需在您的视图中执行此操作:

country_select(:your_model_name, :your_attribute_name)

要将其集成到form_for中,并附加一些额外的参数,例如Bootstrap类或默认国家/地区:

<%= form_for @message, url: contact_path, html: { :class => "form-horizontal " } do |f| %>

    <div class="form-group">
        <%= f.label :country, :class => "col-md-3 control-label" %>
        <div class="col-md-9">
            <%= f.country_select :country, ["United States"], {}, { :class => "form-control" } %>
        </div>
    </div>

    <%= f.submit "Submit", :class => "btn btn-default" %>

<% end %>

有关此方法的确切选项,请参阅此处:

country_select(method, priority_or_options = {}, options = {}, html_options = {})

希望它有所帮助!