Asset pipeline Rails 4.1资源流水线制作,预编译后两个单独css文件中的背景图像路径不同
我在生产中有一个rails 4.1.1应用程序,因为我有一个来自gem“fancybox2 rails”、“0.2.8”的fancybox.css文件 在application.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文件中,我添
*= 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路径。