jstree и конвейер ресурсов Rails - PullRequest
0 голосов
/ 19 июня 2020

Я использую библиотеку jstree (https://www.jstree.com/) jQuery. Отлично работает в разработке, но в производстве весь стандартный фон CSS ломается. css вызывает фоновые значки из /app-assets/32px.png и c. Эти файлы находятся в моем /app/assets/images и даже добавлены в мою предварительную компиляцию, но ни один из них не загружается (выдает ошибку 404).

Я подозреваю, что проблема в том, что я развертываю в производственной среде Rails предварительно компилирует изображений, и когда jstree css вызывает url("32px.png"), сервер вызывает /app-assets/32px.png, который всегда терпит неудачу, потому что сервер ожидает /app-assets/32px-xxxxxxxxxxxxxxxx.png URL-адрес предварительно скомпилированного конвейера ресурсов.

Я могу вручную сбросить файлы значков в папку publi c и взломайте css, но JS, похоже, все еще запускает код для старого пути. Могу ли я получить дерево JS для ссылки на URL-адреса конвейера ресурсов Rails?

1 Ответ

0 голосов
/ 25 июня 2020

В итоге получился CSS, который требует, чтобы фон был url("32px.png") и в мире Rails, относительно предварительно скомпилированного CSS, который находится в /assets/...

Я поместил свои изображения jstree в папку stati c / publi c, а затем изменил CSS на url("/32px.png"), так что jstree загружает их в абсолютном порядке с root.

Существует вариант использовать image-url("32px.png"), но jstree JS не работает, когда он пытается загрузить изображения, поскольку он пытается загрузить относительный путь, и я видел двойную загрузку файлов изображений et c. Я отказался от этого и выбрал первое решение.

Надеюсь, это поможет кому-то в будущем.

...