Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asset pipeline Rails 4.1资源流水线制作,预编译后两个单独css文件中的背景图像路径不同_Asset Pipeline_Ruby On Rails 4.1 - Fatal编程技术网

Asset pipeline Rails 4.1资源流水线制作,预编译后两个单独css文件中的背景图像路径不同

Asset pipeline Rails 4.1资源流水线制作,预编译后两个单独css文件中的背景图像路径不同,asset-pipeline,ruby-on-rails-4.1,Asset Pipeline,Ruby On Rails 4.1,我在生产中有一个rails 4.1.1应用程序,因为我有一个来自gem“fancybox2 rails”、“0.2.8”的fancybox.css文件 在application.css中,我添加了如下文件 *= require jquery.ui.datepicker *= require jquery.ui.slider *= require fancybox *= require_tree . *= require_self 同样在另一个lockbox.css文件中,我添

我在生产中有一个rails 4.1.1应用程序,因为我有一个来自gem“fancybox2 rails”、“0.2.8”的fancybox.css文件

在application.css中,我添加了如下文件

 *= require jquery.ui.datepicker

 *= require jquery.ui.slider

 *= require fancybox

 *= require_tree .

 *= require_self
同样在另一个lockbox.css文件中,我添加了它,如下所示

*= require jquery.ui.datepicker

*= require jquery.ui.slider

*= require fancybox
在production.rb中,我添加了用于额外编译lockbox.css文件的配置,如下所示

 config.assets.precompile += %w( lockbox.css )
我的生产环境配置为子目录

www.test.com/v1

www.test.com/v2

问题出在lockbox.css文件中,其中application.css和lockbox.css中背景图像的背景url路径不同

例如在application.css中 路径正确,
v1/assets/my_image.png

但是在lockbox.css中 同一路径被错误编译为,
v1/my_image.png


请解释为什么会发生这种情况,以及可以采取哪些措施来解决此问题。

将此配置放在您的production.rb中

config.action_controller.relative_url_root = '/your-sub-uri'
这将把子uri添加到第三方gem资产中


我是从

获得此配置的,您可以尝试删除生产中的
tmp/cache/assets
目录,然后重新部署。虽然这不是一个永久性的解决方案,我删除了tmp/cache/assets文件夹,但是现在相对的url部分没有出现。让我困惑的是,如果我从网站下载css文件,路径是正确的,例如:v1/assets/image.png。但是没有显示背景图像,并且在firebug中,在路径/assets/image.png中找不到其显示资产,其中缺少相对url路径。