【发布时间】:2014-02-20 04:36:06
【问题描述】:
这个问题快把我逼疯了……我想我已经尝试了 Sass 文件、ERB 文件、资产助手、图像助手等的所有可能的组合。请给我新的想法!
上下文:
Rails 应用程序需要使用资产助手,以便在预编译资产时,源代码将是一个指纹资产文件。即,如果您只是调用 img src="X.jpg",则生产中的站点会查找 X.jpg,但 public/assets 中的文件实际上已被指纹识别为 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)
向能提供帮助的人致敬!
【问题讨论】:
-
尝试一次 background-image:asset_url('galleria/classic-map.png');
-
没有没有用,注意我刚刚编辑了我的问题,但这在开发中有效,所以代码看起来是正确的,只是资产助手似乎出于某种原因没有指向指纹资产在生产中
-
@james 你有没有找到解决这个问题的方法?
-
我找到了一个 hack @Noz,刚刚添加了答案。
标签: css ruby-on-rails heroku asset-pipeline