【发布时间】:2015-01-19 19:28:56
【问题描述】:
我正在将一个非常旧的项目升级到最新版本的 rails。因此,我已经阅读了大量有关 rails 3.0 和 3.1 之间资产管道更改的内容,包括 this 整个页面,并且我已经按照第 9 部分中的所有步骤进行操作。我还阅读了很多堆栈交换问题处理似乎与我相同的问题。但是这些都不起作用。
在app/views/layouts/_sidebar.html.erb我有这个html:
<img id="admin_img" style="border:none"
src="/images/<%= in_server_menu ? 'expanded' : 'collapsed' %>.gif" />
升级后,我已将 src= 更改为以下所有内容:
src="<%= image_path(in_server_menu ? 'expanded.gif' : 'collapsed.gif' )%>"
src="/assets/<%= in_server_menu ? 'expanded' : 'collapsed' %>.gif"
src="/assets/images/<%= in_server_menu ? 'expanded' : 'collapsed' %>.gif"
src="assets/<%= in_server_menu ? 'expanded' : 'collapsed' %>.gif"
src="app/assets/images/collapsed.gif"
和许多类似的路径,但图像无法加载。前两个的实际 HTML 输出是
src="/assets/collapsed.gif"
这似乎是正确的,因为我的文件系统如下所示:
project_folder
->app
->assets
->images
->collapsed.gif
Firefox 显示默认的“损坏的图像”缩略图,但图像信息说它是 0 字节并且无法加载,这让我觉得它没有被找到。进行更改后,我重新启动了服务器,并且使用 Firefox 手动打开文件有效,因此图像没有损坏。
Rails.application.assets.paths 包含
/path/to/the/project/folder/app/assets/images
以及其他资产文件夹。
我已经确认我正在修改的 src 标签确实是我正在查看的损坏的图像,所以没有那么简单。
我还能做些什么来加载此图像?我还可以采取哪些其他故障排除步骤?我还遇到了其他资产尚未加载的问题,我可以在加载页面并查看服务器输出时看到这些问题,但我还没有解决这些问题。
【问题讨论】:
标签: ruby-on-rails ruby image ruby-on-rails-3 asset-pipeline