我在处理图像时遇到问题,我在视图中使用 assets_path 来确定图像的最终路径(员工照片)。然后我让 Heroku 在推送 repo 时预编译所有资产。以前可以,但是现在照片不显示了。
更奇怪的是,在运行应用程序时,html 是正确生成的(如查看页面源代码中所见......照片 src url 可以复制并粘贴到浏览器中,它们会检索正确的资产!)但照片没有显示在页面上.
这是视图。'assets_path' 用于确定预编译后的最终路径:
<ol class="employees_list">
<% employees.each do |employee| %>
<li>
<%= link_to employee_path(employee) do %>
<div data-picture data-alt="Photo of <%= employee.name %>" class="photo">
<% if employee.photo %>
<div data-src="<%= asset_path employee.photo %>"></div>
<div data-src="<%= asset_path employee.photo('small', 2) %>" data-media="(min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 2)"></div>
<noscript>
<img src="<%= asset_path employee.photo %>" alt="Photo of <%= employee.name %>">
</noscript>
<% end %>
</div>
<% end %>
</li>
<% end %>
</ol>
奇怪的是,Heroku 输出的 html 看起来像这样(片段 - 一个列表项):
<li>
<a href="/employees/586">
<div data-picture data-alt="Photo of Marcy Dakss" class="photo">
<div data-src="/assets/employees/small/marcy_dakss-84bb6d3482d0af4667d24f8cd7017c7f.jpg"></div>
<div data-src="/assets/employees/small/marcy_dakss@2x-de98d9acfea2e840aa039854c385007b.jpg" data-media="(min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 2)"></div>
<noscript>
<img src="/assets/employees/small/marcy_dakss-84bb6d3482d0af4667d24f8cd7017c7f.jpg" alt="Photo of Marcy Dakss">
</noscript>
</div>
</a>
</li>
...现在,当您手动将资产 url 复制并粘贴到浏览器标签中时 (/assets/employees/small/marcy_dakss-84bb6d3482d0af4667d24f8cd7017c7f.jpg),照片就会显示出来!
我觉得我已经尝试了一切,你有解决类似图像问题的经验吗?