Select2 for rails asset pipeline
Select2 is a jQuery based replacement for select boxes. It supports searching, remote data sets, and infinite scrolling of results.
The select2-rails
gem integrates the Select2
jQuery plugin with the Rails asset pipeline.
Usage
Install select2-rails gem
Add select2-rails
to your Gemfile and run bundle install
:
gem "select2-rails"
Include select2-rails javascript assets
Add the following to your app/assets/javascripts/application.js
:
//= require select2
To add select2-full.js
instead of select2.js
, add the following instead :
//= require select2-full
Include select2-rails stylesheet assets
Add to your app/assets/stylesheets/application.css
:
*= require select2
If you are using Twitter Boostrap you need to also require the bootstrap theme CSS in addition to the above require.
*= require select2-bootstrap
or if you're using Bootstrap 4:
*= require select2-bootstrap4
To apply the theme, tell Select2 to do so by passing bootstrap
to the theme
option when initializing Select2:
$( "#dropdown" ).select2({
theme: "bootstrap"
});
or if you're using Bootstrap 4:
$( "#dropdown" ).select2({
theme: "bootstrap4"
});
Internationalization (i18n)
The select2-rails
now supports multiple languages.
Add the following to your app/assets/javascripts/application.js
:
//= require select2_locale_"any possible language"
To apply the language, pass whatever language you'd like to use to the language
option when initializing Select2:
$( "#dropdown" ).select2({
language: "zh-TW"
});
Possible languages:
ar, az, bg, ca, cs, da, de, el, en, es, et, eu, fa, fi, fr, gl, he, hi, hr, hu, id, is, it, ja, km, ko, lt, lv, mk, ms, nb, nl, pl, pt, pt-BR, ro, ru, sk, sr, sr-Cyrl, sv, th, tr, uk, vi, zh-CN, zh-TW
Example
Code here
Heroku app here
Fix
IE8 Invalid Character
IE8 doesn't support some unescaped Unicode character and need to quote keys in object literals
You need some configurations for Uglifier to do the work.
Add to your config/environments/production.rb
require 'uglifier'
config.assets.js_compressor = Uglifier.new(output: {ascii_only: true, quote_keys: true})
Version
From v2.1.0
on, select2-rails
's version will match the version of Select2
it uses.
The last number of the version is the patch version specific to the gem. For example, for a version of the form 2.x.y
, 2.x
is the release of Select2
we should be compatible with, and y is the patch version specific to the gem (ie. to resolve any gem-specific issues that crop up).
Contributions
If you want to contribute, please:
- Fork the project.
- Make your feature addition or bug fix.
- Send me a pull request on Github.
License
Selec2-Rails is released under the MIT License.