jstree 和 Rails 资产管道
jstree and Rails asset pipeline
我正在使用 jstree (https://www.jstree.com/) jQuery 库。在开发中工作正常,但在生产中所有标准背景 CSS 中断。 css 从 /app-assets/32px.png
等调用背景图标。这些文件在我的 /app/assets/images
中,甚至将它们添加到我的预编译中,但其中 none 加载(抛出 404 错误).
我怀疑问题是我部署到生产环境 Rails 正在预编译图像,当 jstree css 调用 url("32px.png")
服务器调用 /app-assets/32px.png
时总是会失败,因为服务器需要 /app-assets/32px-xxxxxxxxxxxxxxxx.png
预编译资产管道 url.
我可以手动转储 public 文件夹中的图标文件并破解 css 但 JS 似乎仍会触发旧路径的代码。我可以让 JS 树引用 Rails 资产管道 url 吗?
最终成为 CSS,它要求背景为 url("32px.png")
,在 Rails 世界中,相对于预编译的 CSS在 /assets/...
我将我的 jstree 图像放在静态 /public 文件夹中,然后将 CSS 更改为 url("/32px.png")
以便 jstree 从根目录绝对加载它们。
有一个选项可以使用 image-url("32px.png")
但是 jstree JS 在尝试加载图像时失败了,因为它仍然试图加载相对路径,我看到了一些图像文件的双重加载等。我放弃了,选择了第一个解决方案。
希望这对以后的人有所帮助。
我正在使用 jstree (https://www.jstree.com/) jQuery 库。在开发中工作正常,但在生产中所有标准背景 CSS 中断。 css 从 /app-assets/32px.png
等调用背景图标。这些文件在我的 /app/assets/images
中,甚至将它们添加到我的预编译中,但其中 none 加载(抛出 404 错误).
我怀疑问题是我部署到生产环境 Rails 正在预编译图像,当 jstree css 调用 url("32px.png")
服务器调用 /app-assets/32px.png
时总是会失败,因为服务器需要 /app-assets/32px-xxxxxxxxxxxxxxxx.png
预编译资产管道 url.
我可以手动转储 public 文件夹中的图标文件并破解 css 但 JS 似乎仍会触发旧路径的代码。我可以让 JS 树引用 Rails 资产管道 url 吗?
最终成为 CSS,它要求背景为 url("32px.png")
,在 Rails 世界中,相对于预编译的 CSS在 /assets/...
我将我的 jstree 图像放在静态 /public 文件夹中,然后将 CSS 更改为 url("/32px.png")
以便 jstree 从根目录绝对加载它们。
有一个选项可以使用 image-url("32px.png")
但是 jstree JS 在尝试加载图像时失败了,因为它仍然试图加载相对路径,我看到了一些图像文件的双重加载等。我放弃了,选择了第一个解决方案。
希望这对以后的人有所帮助。