当我转向生产时,很多资产都缺失了。没有背景图像,但有来自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 .
*/
答案 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和样式表。