Rails 4.2 不创建非消化资产
Posted
技术标签:
【中文标题】Rails 4.2 不创建非消化资产【英文标题】:Rails 4.2 not creating non-digested-assets 【发布时间】:2015-06-09 07:08:05 【问题描述】:我正在开发 Rails 4.2.0 。根据 rails 4 新的资产管道策略,同时预编译仅创建消化的资产。我正在使用 AWS Cloudfront 提供静态资产。因此,与预编译一起,我使用 gem asset_sync 将编译后的资产推送到云端。但我面临一个问题。我正在提供一些图片,如下所示。
<%= image_tag "/assets/defaults/some_name.png" %>
<img src="<%= asset_path("/assets/img/some_name.gif") %>" style="height:20px; margin: 0 5px;"/>
以及一些 .scss 文件中的一些图像,如下所示。
background: url(/assets/img/some_name.png) no-repeat;
但这些图片无法正常投放,因为原始名称中没有文件。只有消化版本可用。我正在使用的一些字体文件也发生了同样的问题。因此,请任何人帮助我解决如何使用 image_tag 或创建非摘要资产来提供摘要图像。
【问题讨论】:
【参考方案1】:您可以通过以下方式访问图像。
<%= image_tag "defaults/some_name.png" %>
<img src="<%= asset_path("img/some_name.gif") %>" style="height:20px; margin: 0 5px;"/>
background: url(asset-path('img/some_name.png')) no-repeat;
【讨论】:
以上是关于Rails 4.2 不创建非消化资产的主要内容,如果未能解决你的问题,请参考以下文章
Rails 6 的资产管道中不存在资产“application.js”