Repository is archived
No commit activity in last 3 years
No release in over 3 years
Add a routes helper for all asset pipeline needs
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

 Project Readme

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.