升级到Rails 3.1时资产管道问题

时间:2015-01-19 19:28:56

标签: ruby-on-rails ruby image ruby-on-rails-3 asset-pipeline

我正在将一个非常古老的项目升级到最新版本的rails。所以我已经阅读了大量关于rails 3.0和3.1之间Asset管道的更改,包括整个页面的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"

哪个APPEARS是正确的,因为我的文件系统如下所示:

project_folder
  ->app
    ->assets
      ->images
        ->collapsed.gif

Firefox显示默认的“损坏的图像”缩略图,而图像信息显示它是0字节且无法加载,这让我觉得它没有找到。我自从进行更改后重新启动了服务器,并使用Firefox手动打开文件,因此图像不会中断。

Rails.application.assets.paths包含

/path/to/the/project/folder/app/assets/images

以及其他资产文件夹 我已经确认我正在修改的src标签确实是我正在看的破碎图像,所以没有那么简单。

我还能做些什么来加载这个图像?我可以采取哪些其他故障排除步骤?当我加载页面并观察服务器输出时,我也遇到了其他未加载的资产问题,但是我还没有解决这些问题。

1 个答案:

答案 0 :(得分:0)

尝试: -

<%= image_tag (in_server_menu ? "expanded.gif" : "collapsed.gif"), :id => "admin_img", :style => "border:none"  %>