The current gem is released without updated plugins. If you encounter any errors, please fork the repository, update the plugin files and send a pull-request.
This gem packages the jQuery DataTables plugin for easy use with the Rails 3.1+ asset pipleine.
It provides all the basic DataTables files, and a few of the extras.
-
Add to your Gemfile:
gem 'jquery-datatables-rails', git: 'git://github.com/rweng/jquery-datatables-rails.git'
-
Install the gem:
bundle install
-
Add the JavaScript to
application.js
://= require dataTables/jquery.dataTables
-
Add the stylesheets to
application.css
:*= require dataTables/jquery.dataTables
-
Complete steps 1-3 of the General Installation
-
Add some more JavaScript to
application.js
://= require dataTables/jquery.dataTables.bootstrap
-
Add this (and only this) stylesheet to
application.css
:*= require dataTables/jquery.dataTables.bootstrap
-
Initialize your datatables using one of these options:
// For fluid containers
$('.datatable').dataTable({
"sDom": "<'row-fluid'<'span6'l><'span6'f>r>t<'row-fluid'<'span6'i><'span6'p>>",
"sPaginationType": "bootstrap"
});
// For fixed width containers
$('.datatable').dataTable({
"sDom": "<'row'<'span6'l><'span6'f>r>t<'row'<'span6'i><'span6'p>>",
"sPaginationType": "bootstrap"
});
Only a few plugins are currently available
- api
- fnReloadAjax
- fnGetColumnData
- fnFilterOnReturn
- fnSetFilteringDelay
- sorting
- numbersHtml
- typeDetection
- numberHtml
These files can be found in the assets directory.
Only the official extras are available:
- AutoFill
- ColReorder
- ColVis
- FixedColumns
- FixedHeader
- KeyTable
- Scroller
- TableTools
To add an extra into your application, add its JS file to application.js
using the following pattern:
//= require dataTables/extras/[ExtraName]
Additionally, you may need to add any associated CSS files. For instance the TableTools extra requires
you to add the following two lines to your application.css
file:
*= require dataTables/extras/TableTools
*= require dataTables/extras/TableTools_JUI
Make sure to also add it's initialization as described on datatables extras' site