这个问题让我疯狂了…我想我已经尝试过Sass文件,ERB文件,资源帮助器,图像帮助器等的所有可能的组合.有人请给我新的想法!
语境:
Rails应用程序需要使用资产助手,以便在资源预编译时,源将是指纹资产文件.即,如果您刚刚打电话给img src =“X.jpg”,那么生产中的网站会查找X.jpg,但是在公共/资产中的文件实际上已经被指纹识别为X-as; diofua; wemfiwaejfoiawefo.jpg.获取指纹文件的唯一方法是使用资产助手,例如image_url(‘X.jpg’).
现在在我的现场,我正在使用资产帮手,但无论如何,它并没有指向指纹资产.请注意,资产被发现在开发中(但是再次,这是因为在开发中没有添加指纹).
码
图片标题为“classic-map.png”,位于app / assets / images / galleria
图像从application.css文件中需要的css.erb文件调用.在css.erb文件中,我有以下代码:
background-image: url(<%= asset_path 'galleria/classic-map.png' %>);
作为参考,http://guides.rubyonrails.org/asset_pipeline.html
请注意,我选择将其写为css.erb文件,因此使用asset_path与asset-path.此外,我最初以为这个问题可能是插值的,但是在页面源代码中,url绝对有效,它只是指向url(galleria / classic-map.png)而不是url(galleria / classic-地图apsoidufalskjf; kasj.png)
一百万美金给谁能帮助!
解决方法
对于什么是值得的,这恰好是一个重要的,这一次我不能使用黑客,因为我迫切需要指纹.所以不知怎的,神奇的是,我跑了一个耙子资产:劫匪和英雄犁耙资产:彻底清理所有的资产,然后直立git推动Heroku做我的预编译.这样做,一切都奏效.
现在,当这种情况发生时,我在本地淘汰资产在生产和推动下,迫使Heroku进行远程预编译.类似于@ user2880239的答案.我已经停止在本地预编译并检查git.