rails4中的heroku服务器上没有加载样式表、图像和javascript
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');}
正在生产.rb
config.serve_static_assets = true
config.assets.compile = true
在herokrun-bash中,我有rake-assets:也可以预编译,但仍然不加载图像、样式表和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
)错误 - 这些错误将指示Rails正在查找哪些文件——查找指纹
如果应用程序正在寻找指纹文件,这是一个好迹象(这意味着你拥有的文件不正确)。要解决此问题,您只需在发送到Heroku:之前预编译
$ rake assets:precompile RAILS_ENV=production
$ git add .
$ git commit -a -m "Fix"
$ git push heroku master
这将向Heroku发送正确的文件。
如果你的应用程序没有寻找指纹文件,这意味着你必须在CSS中正确引用它们。我想你已经知道了(写在上面)。
相关文章:
- 如何设置SVG路径的样式以拍摄图像
- 使用Javascript对象为具有两个背景图像的DIV设置样式时出现问题
- 尝试在随机文本和图像脚本中添加样式/更改字体
- Cloudinary上传小部件-样式上传预览图像(宽度和高度)
- 使用CSS/Javascript设计图像地图的样式
- 将样式表、javascript和图像分离到不同文件夹中的优势
- Firefox断开页面;不显示图像或CSS样式
- 在同一页面上使用jQuery Mobile Flip Switch切换具有隐藏输入样式的图像
- 如何使用javascript获取和比较图像的边框样式
- 使用CSS样式表更改在Javascript中添加的图像的位置
- 如何在Javascript中交换图像时设置边框和样式
- 拖动时 Dragula 嵌套图像不会保持样式
- 为什么图像样式不透明度不会更改画布中的图像对象
- ng 样式,具有内值不呈现背景图像
- 如何在 webpack 中加载 sass 样式表中使用的图像
- Vue.js 数据绑定样式背景图像不起作用
- 设置函数图像样式
- 将 css 样式添加到 Javascript 中使用的图像中
- 在幻灯片上更改列表样式图像切换
- MVC / jquery生成括号样式图像或视图的最佳方式