rails 从 css.scss 调用时,资产 URL 没有摘要

rails assets urls don't have digest when calling from css.scss

我将我的项目部署到生产环境中,但我的一些资产不起作用。 我在 html.erb 和

中使用的那些资产
<%= image_tag('outstaffing/outstaff2.svg') %>

正常工作 return

<img src="/assets/outstaffing/outstaff2-eade8e303c63a428e7430e84866b732dae91cda0639d8d3d422c2ee86fb254aa.svg" alt="Outstaff2 eade8e303c63a428e7430e84866b732dae91cda0639d8d3d422c2ee86fb254aa">

但是字体和一些图像没有。 我有 app/assets/fonts/RobotoCondensedRegular.ttfapp/assets/images/common/footer.svg 我尝试从 css 文件调用。

style.css.scss

@font-face {
   font-family: 'RobotoRegular';
   src: url(font-path('RobotoCondensedRegular.ttf'))  format('truetype');
}

#some_div{
   background: asset-url('common/footer.svg');
}

预编译后我有 public/assets/styles-h5digest.css

@font-face{
  font-family:'RobotoRegular';
  src:url("/assets/RobotoCondensedRegular-4a7c36df4318fee50a8159c3a0ebde4572abab65447ae4a651c2fe87212302b5.ttf") format("truetype")
}

这应该可以,但是 return 是我的错误:

Failed to load resource: the server responded with a status of 500 (Internal Server Error)

服务器正在尝试加载 assets/fonts/RobotoCondensedRegular.ttf 但文件名应带有摘要。页脚图像也是如此。

我已经尝试过在很多方面改变assets.rb、production.rb和application.rb。此外,我尝试了 css 文件的不同扩展名(css、css.scss、scss、css.erb)和助手(asset-url , image-url, asset-data-url, asset_data_path, <%= asset_path() %>).

我正在使用 Rails 4.2.0 和 ruby 2.2.3。

我的production.rb

config.serve_static_files = true
config.assets.js_compressor = :uglifier
config.assets.css_compressor = :sass
config.assets.compile = false
config.assets.digest = true

我的application.rb

config.assets.enabled = true
config.assets.paths << Rails.root.join('app', 'assets', 'fonts')
config.assets.paths << Rails.root.join('app', 'assets', 'images', 'img', 'main')

我的assets.rb

Rails.application.config.assets.precompile << /\.(?:svg|eot|woff|ttf|jpg|png)\z/
Rails.application.config.assets.precompile += ['styles.css', 'careers.css', 'team.css', 'home.css', 'services.css', 'contacts.css']

日志错误:

"GET /assets/fonts/RobotoCondensedBold.ttf HTTP/1.1" 500 1812 "http://...ip..../assets/application-6b568a81a81290ff96d145fa1f76bbf33919b85dad0f4235d8bf8759787a5076.css"

我认为问题出在我的服务器 (apache) 上,但我没有解决方案。

我将这两个 gem 添加到我的 Gemfile 中:

gem 'rails_serve_static_assets'
gem 'rails_stdout_logging'

并设置在我的production.rb

config.serve_static_files = false

现在所有字体和图像都运行良好。