Почему ActionController обрабатывает запросы изображений, но не обрабатывает потоковые запросы?

#ruby-on-rails #image #video #actioncontroller

#ruby-on-rails #изображение #Видео #actioncontroller

Вопрос:

Когда какое-либо изображение не было найдено (его атрибут «src» указывает на неправильный путь), я получаю следующую ошибку:

Обработка ApplicationController#index (для 127.0.0.1 в 2011-04-12 16:44:19) [ПОЛУЧИТЬ]

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:в 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:при load'
/usr/bin/rdebug-ide:19
-e:2:in
загрузке ‘ -e:2

Восстановление рендеринга / layout (not_found)

Но, когда есть видеоэлемент HTML5, я не вижу никаких жалоб на ActionController, когда он не найден.

Что здесь происходит?

Ответ №1:

Похоже, что вы генерируете HTML, который выглядит как <img src="/non-existent-image.jpg"> и этот путь не определен в вашем config/routes.rb , поэтому он не может быть обработан приложением Rails.

Возможно, вы намереваетесь:

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

Это сгенерирует тег, который выглядит как:

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

Пока этот файл присутствует в вашей public/ папке, он должен работать.