Rails 4.1 assets pipeline production,预编译后两个单独的 css 文件中的背景图片路径不同

Rails 4.1 assets pipeline production, background image path different in two seperate css files after precompile

我在生产中有一个 rails 4.1.1 应用程序,因为我有一个来自 gem 'fancybox2-rails'、'0.2.8'[ 的 fancybox.css 文件=17=]

在 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 添加到第 3 方 gem 资产。

我从 here

得到了这个配置