How to namespace our JS for use with the Rails asset pipeline

后端 未结 2 1103
执念已碎
执念已碎 2021-02-14 04:53

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, load

相关标签:
2条回答
  • 2021-02-14 05:40

    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.

    0 讨论(0)
  • 2021-02-14 05:41
    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

    0 讨论(0)
提交回复
热议问题