Рельсы конфликты 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, и я не нашел никаких проблем с совместимостью...

Вероятно, не тот ответ, который вы ищете, но, возможно, хороший вариант!

Другие вопросы по тегам