铁路资产管道 - Garber-Irish,Administration&保持干燥

时间:2012-10-29 20:06:45

标签: javascript ruby-on-rails asset-pipeline dry

我正在使用所谓的garber-irish technique来分割我的javascript文件。

我的问题是,我有一个模型(项目说)并且在app / assets / javascripts / item / item.js中有一个init函数

e.g。

MYAPP.items = {
  init: function() {
    alert("do something");
  }
};

现在..让我说我有这个应用程序的管理方面,我真的不想在主要批量中包含管理员javascript。所以..我有一个不同的system_adminstration.js,它需要上面的常规 javascripts / item / item.js,但需要一个javascripts / admin / item / item.js这看起来像是:

MYAPP.items = {
  init: function() {
    alert("also do this");
  }
};

我想加载两个上面的常见javascripts,以及特定于管理的javascripts - 有效地合并两个init函数并保持干净。

问题:

  1. 这是一种明智的做法吗?
  2. 有可能吗?

1 个答案:

答案 0 :(得分:0)

热衷于评论 - 但我所做的(暂时)是将init函数更改为:

UTIL.exec( "common" );
UTIL.exec( controller );
UTIL.exec( "admin_"+controller );
UTIL.exec( controller, action );
UTIL.exec( "admin_"+controller, action );

(所以,我正在添加“admin_”),然后添加 admin javascript文件,我只是在管理员前缀中添加:

MYAPP.admin_items = {
  init: function() {

...

有点讨厌,但我认为只有有人提出更好的建议才能做到这一点!