Chosen for rails asset pipeline
Chosen is a library for making long, unwieldy select boxes more user friendly.
The chosen_assets
gem integrates the Chosen
with the Rails asset pipeline.
This is a fork of chosen-rails, this gem, chosen_assets
, gets
already compiled .js and .css from the original chosen Github release (via the github api),
and thus has no dependencies on compass (or sass or coffeescript), it just gives you the already
compiled source.
Usage
Install chosen_assets gem
Include chosen_assets
in Gemefile
gem 'chosen_assets'
Then run bundle install
Include chosen javascript assets
Add to your app/assets/javascripts/application.js
if use with jQuery
//= require chosen.jquery
Or with Prototype
//= require chosen.prototype
Include chosen stylesheet assets
Add to your app/assets/stylesheets/application.css
*= require chosen
Enable chosen javascript by specific css class
Add to one coffee script file, like scaffold.js.coffee
$ ->
# enable chosen js
$('.chosen-select').chosen
allow_single_deselect: true
no_results_text: 'No results matched'
width: '200px'
Notice: width
option is required since Chosen 0.9.15
.
And this file must be included in application.js
//= require chosen.jquery
//= require scaffold
Also add the class to your form field
<%= f.select :author,
User.all.map { |u| [u.name, u.id] },
{ include_blank: true },
{ class: 'chosen-select' }
%>
If you use simple form as form builder
<%= f.association :author,
collection: User.all,
include_blank: true,
input_html: { class: 'chosen-select' }
%>
Gem maintenance
Update chosen source in chosen_assets
gem with Rake
commands.
Update origin chosen source files.
rake update-chosen
That will look for the latest release from chosen's github, download the release zip, and copy assets into source. For css files, it also replaces any url() references to use rails-sass asset-url().
If chosen is out of date, feel free to do this and make a pull request!
Versioning for chosen_assets
tracks chosen version -- chosen_assets 1.1.0.0
uses chosen 1.1.0
, and is the first chosen_assets
release of that chosen version.
Publish gem.
rake release
License
use MIT license.