Rails Behaviors implements the data-*
behaviors generated by Rails 3.x.
This is an alternative to jquery-ujs. Firstly, it is all Coffee goodness. Well, thats mostly good for me. Second, it is written in a modular fashion. This makes it possible to cherry pick the components you need and replace specific functionaly without rewriting the whole thing. Third, it uses built in global ajax events rather than adding its own. O, one more thing, Zepto.
jQuery 1.7.2+ or Zepto 0.8+
You'll need Sprockets 2 if you want to use the gem version.
rails-behaviors is distributed through the bower package manager.
bower install rails-behaviors
For testing you will need:
- Ruby 1.9.3+
- Bundler (
gem install bundler
)
bundle install
bundle exec rackup -E test ./test/config.ru
# now open the browser at http://localhost:9292
This library handles all the data-*
behaviors defined in Rails. So its roughly feature for feature identicial with respect to the HTML.
The differences are in the JS interface.
- There are no
ajax:*
events. jQuery already has global ajax events built in, so there is no point in duplicating that functionality. Doing a find and replace for"ajax:"
events should give you a good start. You're looking to replaceajax:success
withajaxSuccess
,ajax:error
withajaxError
, etc. - There are no global configuration options. Theres no equivalent for
$.rails
. You probably should have never used that in the first place.
NOTE You can not use rails-behaviors and jquery-ujs at the same time.
See http://josh.github.com/rails-behaviors/ for a markup and event reference.
$ git clone git://github.com/josh/rails-behaviors.git
$ cd rails-behaviors/
$ bundle install
Run tests
$ rackup -p 3000 test/config.ru
$ open http://localhost:3000/
Copyright © 2011 Joshua Peek <josh@joshpeek.com>
Rails Behaviors is distributed under an MIT-style license. See LICENSE for details.