Integrate Chosen javascript library with Rails asset pipeline
Pull request Compare This branch is 17 commits ahead, 42 commits behind tsechingho:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

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.


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

$ ->
  # enable chosen js
    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

<%= :author, { |u| [,] },
  { 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 uses chosen 1.1.0, and is the first chosen_assets release of that chosen version.

Publish gem.

rake release


use MIT license.