ListSelect¶ ↑
Localiazed select lists helper.
Provides a simple helper to get an HTML select list of any lists defined in your locales files. Has builtin lists for selecting countries, languages and more. Adds country_select helper to integrate with SimpleForm and Formtastic.
Requirements¶ ↑
Tested with Rails 3. Might work with other versions, too.
Installation¶ ↑
Install a gem:
gem install list_select
Or add it to your Gemfile:
gem 'list_select'
Also you can install as a plugin:
rails plugin install git@github.com:bitzesty/list_select.git
Example¶ ↑
Define any list in your locale file RAILS_ROOT/config/locales/en.rb:
{ :en => { :animals => { :dog => 'A Dog', :cat => 'A Cat', :cow => 'A Cow', :pig => 'A Pig' }}}
Make a select list in your view(examples of different usage):
<%= f.list_select(:pet, :animals) %> <%= list_select("user", "pet", :animals) %> <%= list_select_tag("user_pet", :animals) %>
Options¶ ↑
The only List Select specific option is a :priority_items option. All other options are the same as for other Rails form helpers.
<%= f.list_select(:pet, :animals, :priority_items => [ :dog, :cat ]) %> <%= f.list_select(:pet, :animals, :default => :dog) %> <%= f.list_select(:pet, :animals, :include_blank => 'Select your pet...') %>
Built in lists¶ ↑
There are built in lists. They are:
-
countries_cldr.en
-
countries_iso3166_1_alpha_2.en # Recommended for Chargify API
-
languages_cldr.en
-
google_adwords_countries.en
-
google_search_languages.en
-
google_adwords_languages.en
-
google_interface_languages.en
You need to install list you need before you can use it.
You can do this wth list_select generator.
Example:
rails generate list_select --help # See avalable lists rails generate list_select countries_cldr.en # Install one you need
Notice: You might need to restart your server for installed list to be available.
Integration with 3rd party gems¶ ↑
ListSelect works with SimpleForm and Formtastic. It adds country_select helper campatible with them. You can also customize the countries list you use. Default country list is :countries_cldr.
See examples:
<%= f.input :country %> # will use countries_cldr list (you should install it first) <%= f.input :country, :list => :my_country_list %> # use :my_country_list defined in your locale files <%= f.input :country, :priority => [:US,:BY] %> # set priority options <%= f.input :country, :prompt => 'Select one...' %> # set the prompt <%= f.input :country, :include_blank => true %> # include blank option
TODO¶ ↑
-
Add tests
-
Add rake tasks to refetch lists
-
Add more lists and locales
Copyright © 2010-2011 Dmitry Naumov, released under the MIT license