生产模式中缺少资产 - nginx上的乘客

时间:2013-08-21 20:43:03

标签: ruby-on-rails asset-pipeline production-environment

当我转向生产时,很多资产都缺失了。没有背景图像,但有来自css的背景样式。很多JS都没有加载..

我输入了config production.rb:

  config.cache_classes = true


  config.consider_all_requests_local       = false
  config.action_controller.perform_caching = true

  config.assets.compress = true

  config.assets.compile = false

  config.assets.digest = true

在application.rb中:

 config.assets.precompile += %w( ie.css )
    config.assets.paths << "#{Rails.root}/app/assets/fonts"

但字体不加载。我在公共/资产中看到所有字体,但我的网站上没有任何字体。

有人可以写答案 - 配置应用程序如何处理生产?为什么我从css文件中获取xxx.jpg但是没有从同一个css文件获得yyy.jpg ..

CSS for background:

body{
line-height: 1;
background: #fff url('wallpaper.jpg') top left;

图片位置 - 资产/图片

FONTS位置 - 资产/字体

有时在Chrome控制台中我看到:

GET ..../assets/wallpaper.jpg 404 (Not Found) xxxxxx/:11
GET...../assets/main_page.png 404 (Not Found) xxxxxx/:30
GET ...../assets/fonts/Lato-Bol.ttf 404 (Not Found) 

有时没有,但总是没有字体和许多资产。

我的申请css:

*= require_self
*= require chosen
*= require fancybox
*= require page
*= require_tree .
*/

1 个答案:

答案 0 :(得分:0)

尝试使用image-url代替url

background: #fff image-url('wallpaper.jpg') top left;

来自Asset Pipeline documentation

  

使用资产管道时,必须重写资产路径   sass-rails提供-url和-path助手(在Sass中连字符,   在Ruby中强调了以下资产类别:image,font,   视频,音频,JavaScript和样式表。