#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'
debug_program’ /Library/Ruby/Gems/1.8/gems/ruby-debug-ide-0.4.9/bin/rdebug-ide: 87 /usr/bin/rdebug-ide:19:при
/Library/Ruby/Gems/1.8/gems/ruby-debug-ide-0.4.9/lib/ruby-debug-ide.rb:109:inload'
загрузке ‘ -e:2
/usr/bin/rdebug-ide:19
-e:2:inВосстановление рендеринга / 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/
папке, он должен работать.