Рельсы конфликты JavaScript-активов
В настоящее время я работаю с двумя драгоценными камнями, которые предоставляют активы javascript. Эти два актива конфликтуют друг с другом.
В моем случае это гем lazy_high_charts и гем https://github.com/Nerian/bootstrap-wysihtml5-rails.
У меня есть оба в моем текущем проекте. Во-первых, у меня был только гем bootstrap-wysihtml5-rails для некоторых текстовых полей. Вчера я добавил драгоценный камень lazy_high_charts в свой проект для панели инструментов.
У меня есть текстовые поля wysiwyg в нескольких местах внутри моего приложения. Для панели инструментов я создал новый контроллер Dashboard с индексным действием.
После того, как я добавил lazy_high_charts_gem и потребовал файлы javascript внутри моего файла манифеста application.js, все редакторы wysiwyg в моих текстовых полях по всему проекту исчезли. Как только я удалил требования javascript lazy_high_charts из моего файла application.js, редакторы wysiwyg вернулись.
Первая попытка Моя первая попытка исправить это состояла в том, чтобы изменить порядок моих требований javascript с:
application.js
//= require bootstrap-wysihtml5
//= require bootstrap-wysihtml5/locales/de-DE
//= require highcharts/highcharts
//= require highcharts/highcharts-more
//= require highcharts/highstock
to:application.js
//= require highcharts/highcharts
//= require highcharts/highcharts-more
//= require highcharts/highstock
//= require bootstrap-wysihtml5
//= require bootstrap-wysihtml5/locales/de-DE
Но это ничего не изменило.
Вторая попытка
Моя вторая попытка исправить это состояла в том, чтобы потребовать файлы javascript lazy_high_charts внутри файла dashboard.js.
application.js
//= require bootstrap-wysihtml5
//= require bootstrap-wysihtml5/locales/de-DE
dashboard.js
//= require highcharts/highcharts
//= require highcharts/highcharts-more
//= require highcharts/highstock
Но проблема с этой попыткой заключалась в том, что после предварительной компиляции всех ресурсов файлы javascript были скомпилированы в один большой файл javascript, и мои редакторы wysiwyg снова остановились.
Моя третья идея заключается в следующем: для своей панели инструментов я мог бы создать собственную папку ресурсов и собственный файл манифеста для моего контроллера панели мониторинга. В его javascript-манифесте мне могут потребоваться файлы javascript lazy_high_charts. В нижней части моего файла представления dashboard/index.html.erb я мог загрузить манифест javascript с помощью
<%= javascript_include_tag "dashboard" %>
Это решило бы проблему в данный момент. Но когда мне нужно представление с графиком с высокими графиками и текстовым полем wysiwyg, я снова сталкиваюсь с той же проблемой.
Поэтому я спрашиваю меня, нет ли лучшего решения, которое остановит конфликт обоих драгоценных камней и позволит мне использовать оба в одном и том же виде.
1 ответ
Я использую полный гем Highcharts с Foundation, который очень похож на bootstrap, и я не нашел никаких проблем с совместимостью...
Вероятно, не тот ответ, который вы ищете, но, возможно, хороший вариант!