Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
add routing helpers to your Rails 3.2 asset pipeline
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
lib
spec
.gitignore
.travis.yml
Gemfile
LICENSE
README.md
Rakefile
asset_pipeline_routes.gemspec

README.md

asset_pipeline_routes

Build Status Gem Version

asset_pipeline_routes defines a r shorthand function which you can use inside your javascript assets.

What it does

Assuming you got a routes.rb with:

resources :users # => yields multiple routes, e.g. /users/:id(.:format)

Inside your javascript assets you can now write:

r(users_path)        // => yields '/users'
r(user_path)         // => yields '/users/{{id}}'
r(user_path, userId) // => yields '/users/'+userId

It works with coffeescript as well:

promise = $.rails.ajax({
  url: r(user_path, userId)
})

If you are compiling client side templates with the rails asset pipeline this works inside templates as well, e.g.

%form{ action: r(user_path) }

will generate

<form action='/users/{{id}}'></form>

Upgrading Notes

v0.2 introduced code breaking changes! THIS WILL NO LONGER WORK

// inside application.js.erb
var url = '<%= r.user_path 42 %>';

Instead, you can now drop the .erb extension and use r inline:

var url = r(user_path, 42);

Tests

You can run the test suite locally using the following commands:

$ gem install bundler
$ cd /path/to/local/asset_pipeline_routes
$ bundle install
$ bundle exec rake spec

Whatever you do, make sure the tests stay green ;)

License

Copyright © 2011-2013 Raphael Randschau nicolai86@me.com

asset_pipeline_routes is distributed under an MIT-style license. See LICENSE for details.

Something went wrong with that request. Please try again.