How To Namespace Our JS For Use With The Rails Asset Pipeline
I understand the reasoning behind the rails 3.1 asset pipeline: we compile all the JS in a neat, cacheable file to improve performance. Great we want that. However, loading everyth
Solution 1:
Here is a way to namespace everything on a controller/action level
- http://www.viget.com/inspire/extending-paul-irishs-comprehensive-dom-ready-execution/
- above was inspired by http://paulirish.com/2009/markup-based-unobtrusive-comprehensive-dom-ready-execution/
You basically declare you body as such
<body data-controller="<%= controller_name %>" data-action="<%= action_name %>">
And then these methods are called (which each have a series of methods -- so if you need something on every page, it's in common/init. Or on all users actions, that's on users/init. Or only the users show page? that's users/show.
SITENAME.common.init();
SITENAME.users.init();
SITENAME.users.show();
I've used this and it works very very well.
Solution 2:
JsSpace.on('users', {
index: function(){
console.log('index action of users controller');
}
});
that pattern implemented by render controller and action into body attribute then fetch them and execute the match function. js-namespace-rails
Post a Comment for "How To Namespace Our JS For Use With The Rails Asset Pipeline"