рельсовый трубопровод активов - Garber-Irish, Администрирование и хранение в сухом состоянии

Я использую так называемый ирландский прием для разделения файлов javascript.

Мой вопрос в том, что у меня есть модель (например, элемент) и есть функция инициализации, которая находится в app / assets / javascripts / item / item.js

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 выше и специфичных для администрирования - эффективно объединяя две функции инициализации и сохраняя все в сухом состоянии.

Вопросов:

  1. Это разумный подход?
  2. Возможно ли это?

person patrickdavey    schedule 29.10.2012    source источник


Ответы (1)


Я заинтересован в комментариях, но то, что я сделал (на данный момент), - это изменил функцию init на:

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

(поэтому я добавляю "admin_"), а затем для файлов javascript admin я просто добавил префикс администратора:

MYAPP.admin_items = {
  init: function() {

....

Немного неприятно, но я думаю, что мне подойдет, пока у кого-нибудь не появится более приятное предложение!

person patrickdavey    schedule 31.10.2012