为什么ActionController处理图像请求,但不处理流请求?

时间:2011-04-12 12:54:25

标签: ruby-on-rails image video actioncontroller

当找不到某些图像时(它的“src”属性指向错误的路径),我收到以下错误:

  

处理ApplicationController #index(适用于2011-04-12 16:44:19的127.0.0.1)[GET]

     

ActionController :: RoutingError(没有路由匹配“non-existent-image.jpg”与{:method =>:get}):     /Library/Ruby/Gems/1.8/gems/ruby-debug-ide-0.4.9/lib/ruby-debug-ide.rb:109:in debug_load' /Library/Ruby/Gems/1.8/gems/ruby-debug-ide-0.4.9/lib/ruby-debug-ide.rb:109:in debug_program'     /Library/Ruby/Gems/1.8/gems/ruby-debug-ide-0.4.9/bin/rdebug-ide:87     / usr / bin / rdebug-ide:19:in load' /usr/bin/rdebug-ide:19 -e:2:in load'     -e:2

     

渲染救援/布局(not_found)

但是,当有一个HTML5视频元素时,我没有看到ActionController的任何抱怨,如果找不到它。

这里发生了什么?

1 个答案:

答案 0 :(得分:0)

看起来您正在生成看起来像<img src="/non-existent-image.jpg">的HTML,并且该路径未在config/routes.rb中定义,因此Rails应用程序无法处理它。

您可能想要的是:

<%= image_tag('non-existent-image.jpg') %>

这将生成一个看起来像这样的标签:

<img src="/images/non-existent-image.jpg">

只要该文件存在于您的public/文件夹中,它就可以正常工作。