[英]Stylesheets, images and javascript are not loading on heroku server in rails4
您好,我的gemfile中包含以下内容
group :production, :staging do
gem 'rails_12factor'
end
和我的样式表中,我将图像包括为mytest.css.scss
.abc{background: image-url('/assets/mobile/phone.png');}
在production.rb中
config.serve_static_assets = true
config.assets.compile = true
在herokurun bash中,我有rake资产:也可以预编译,但仍然不加载图像,样式表和javascript。 请指导我如何解决这个问题
尝试以下方法之一:
background-image: image-url("logo.png")
background-image: asset-url("logo.png", image)
background-image: asset-url($asset, $asset-type)
background-image: asset-data-url("logo.png")
有时,Heroku需要花费一些时间来识别新资产-我们发现,如果在预编译后重新启动dyno,通常会在刷新时加载它们: heroku restart
您应该将其与引用的动态助手一起使用(按照sadaf2605
的回答:
#app/assets/stylesheets/application.js
.element {
background: asset_url("your_image_url.png");
}
您需要做的另一件事是针对production
进行预编译-
rake assets:precompile RAILS_ENV=production
调试
很难知道问题出在哪里; 我们调试的主要方法如下:
right-click
您的应用并view source
console
,您可能会看到一系列404
( resource not found
)错误。 如果应用程序正在寻找指纹文件,则表明它是一个好兆头(表示您的文件不正确)。 要解决此问题,您应该在发送给Heroku 之前进行预编译:
$ rake assets:precompile RAILS_ENV=production
$ git add .
$ git commit -a -m "Fix"
$ git push heroku master
这会将正确的文件发送到Heroku。
如果您的应用程序不查找指纹文件,则意味着您必须在CSS中正确引用它们。 我想您已经知道了(上面写的)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.