Rails Behaviors (Deprecated)
Rails Behaviors implements the data-*
behaviors generated by Rails 3.x.
This is an alternative to jquery-ujs. First, it is all CoffeeScript goodness — well, that's 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 having to rewrite the entire library. Third, it uses built-in global ajax events rather than adding its own. O, one more thing, Zepto.
Dependencies
jQuery 1.7.2+ or Zepto 0.8+
You'll need Sprockets 2 if you want to use the gem version.
Installation
rails-behaviors is distributed through the bower package manager.
bower install rails-behaviors
Testing
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
Migrating from jquery-ujs
This library handles all the data-*
behaviors defined in Rails, so it is roughly feature for feature identicial in your Views.
The differences are in the JavaScript.
- 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 cannot use rails-behaviors
and jquery-ujs
at the same time.
Reference
See josh.github.com/rails-behaviors for a markup and event reference.
Contributing
Setup:
$ 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/
License
Copyright © 2011 Joshua Peek <[email protected]>
Rails Behaviors is distributed under an MIT-style license. See LICENSE for details.