Search code examples
htmlruby-on-railsrubygemsrails-4-2-1

gem 'country_select', github: 'stefanpenner/country_select' is not working with rails 4


I am using gem 'country_select', github: 'stefanpenner/country_select' in my gem file and in my form i have defined it like this:

<%= form_for(@account_detail) do |f| %>

  <div class="field">
    <%= f.label :city %><br>
    <%= f.text_field :city %>
  </div>
  <div class="field">
    <%= f.label :zip %><br>
    <%= f.number_field :zip %>
  </div>
  <div class="field">
    <%= f.label :first_name %><br>
    <%= f.text_field :first_name %>
  </div>
  <div class="field">
    <%= f.label :last_name %><br>
    <%= f.text_field :last_name %>
  </div>
  <div class="field">
    <%= f.label :country %><br>
    <%= f.country_select("account_detail", "country") %>
  </div>
  <div class="actions">
    <%= f.submit %>
  </div>
<% end %>

on submit its giving error ActionView::Template::Error (wrong number of arguments (4 for 0)):

Which gem is best to show all countries?


Solution

  • I would use:

    <%= f.country_select :country %>
    

    If you like to prioritize some countries in the select pass them in in an array:

     <%= f.country_select :country, {priority_countries: %w(<COUNTRY CODE i.e. US>), prompt: 'Select Country'} %>
    

    You can add class: 'your-class' and id or whatever just as with any other field if you like. Hope it helps.