Best way to dropdown a list of country in rails 4

2020-07-30 00:10发布

问题:

i have a form where users input some information and I want to add to this form a country and I am wandering what is the best way to do this (seed data, Csv, ...) i don't want to use a gem

回答1:

Since this is essentially static data, I wouldn't even store it into the database. I would create a PORO that had a class method that returns a 2 dimensional array (country with country abbreviation). It's just a matter of sourcing that data.

Here's a list you can use.

https://github.com/karmi/localized_country_select/blob/master/locale/en.rb



回答2:

I use the country_select gem. It is very simple to use. Just supply model and attribute as parameters:

country_select("user", "country")

Here is an example from one of my forms:

<%= f.fields_for (:address) do |b2| %>
     <%= b2.input :street %>
     <%= b2.input :city, :label => "City/Suburb" %>
     <%= b2.input :state %>
     <%= b2.input :post_code %>
     <div class="control-group">
        <label class="control-label">Country</label>
        <div class="controls">
           <%= b2.country_select :country, ["Australia", "New Zealand"] %>
        </div>
     </div>
  <% end %>