升级到新的Rails版本后,很少有图像被破坏

时间:2018-01-22 11:30:42

标签: ruby-on-rails asset-pipeline imageurl

所以我的公司更新了Rails和Ruby版本,之后只有少数图像被破坏了。它们都是用image_url("frontend/image_title.png")在scss中定义的,但只有4个它们不再显示,服务器给出404错误。 所有这些都用作背景图像。

什么可能是问题和解决方案?

2 个答案:

答案 0 :(得分:1)

您是否尝试过预编译资产?

在预编译资产期间,调用image_url也会执行一次,因此可能是生产中的资产仍有旧路径。

要预编译,请运行以下命令:

bundle exec rake assets:precompile

答案 1 :(得分:0)

看起来我总会回答我自己的问题:)

问题是很少有.scss文件用资源管道进行编译,而那些.scss文件有一些相同的代码,比如scss变量和重置代码,我决定将它们移出它们来分隔文件,调用reset.css.scss并将该文件导入带@import函数的.scss文件中,这对Rails *= require方法效果不佳。

将该代码移回.scss文件并删除@import内容后,一切正常。