图像未在生产中显示

images not showing in production

我使用像 this 这样的 mithrilljs 渲染了我的观点。这就是我渲染图像的方式

 m('img.u-marginbottom-10[alt=\'Icon blog\'][src=\'/assets/icon-blog.png\']')

这在开发环境中工作正常,但在生产环境中,找不到图像。在产品期间,我预编译了我的资产。有没有办法通过预编译资产来解决这个问题?

在生产中通过 Asset Pipeline 提供的图像确实在其名称中包含摘要,因此您的 icon-block.png 实际上将类似于 icon-block-somefancyhash28582here.png,你应该

  • 将此文件放入 /public/ 文件夹,
  • 从后端
  • 向其提供 url
  • 使用某种魔法 gem 让您可以在 javascript 文件中使用 asset_url

disable adding digest to files 强烈不推荐