Пути к папкам ресурсов всех ядер загружаются автоматически.
По умолчанию сами ресурсы не загружаются.Это понятно, так как загрузка выполняется с помощью require_tree .
, который загружает все css / js из текущей папки (то есть папки основных ресурсов приложения), но ничего не говорит о ресурсах движков.
Простое решение - попросить пользователя запросить js / css в application.js / css или там, где это необходимо.Поскольку пути загружены правильно, пользователю нужно только указать имя вашего ресурса (я бы порекомендовал использовать имя вашего движка).Пример:
Добавлен к main_app/app/assets/javascripts/application.js
:
//= require your_engine_name
Если вы разбили JS на разные файлы, ваш файл your_engine_name/app/assets/javascripts/your_engine_name.js
может иметь следующее:
//= require_tree .
Это загрузит все файлы js в your_engine_name/app/assets/javascripts/
, как "."относится к локальной папке (в данном случае это папка javascripts вашего движка).
Обратите внимание, что ActionView::Helpers::AssetTagHelper.register_javascript_expansion
, по-видимому, не имеет никакого эффекта, когда установлено config.use_sprockets
.Я надеюсь, что они, по крайней мере, поставят предупреждение в этом случае.
Если у вас есть задача rake для установки вашего движка, тогда вы можете сделать добавление к application.js.
Другой способчтобы пользователь включил его, нужно вставить <%= javascript_include_tag "your_engine_name" %>
в макет erb.
Я не думаю, что есть способ вставить его автоматически