Rails Active Storage: video_tag не показывает видео

Я пытаюсь реализовать некоторую загрузку, а затем воспроизвести видео в своем приложении, используя Rails 5.2.3 и Active Storage. После некоторой борьбы с активным хранилищем я наконец уверен, что мое вложение содержит файл, который я хочу прикрепить => после проверки правильности src Проблема здесь в том, что я продолжаю получать эти предупреждения из консоли firefox:

HTTP Content-Type типа text / html не поддерживается. Загрузка медиаресурса http://localhost:3000/rails/active_storage/blobs/eyJfcmFpbHM… JibG9iX2lkIn19 - a44730f58a07282f626737b6a541d57fa9dc11c4 / vid не удалось. 23 Невозможно воспроизвести медиа. Нет декодеров для запрошенных форматов: текст / html

и область видео со следующим сообщением «
Видео с поддерживаемым форматом и типом MIME не найдено»

Теперь предупреждения консоли отображаются только в Firefox, но видео не воспроизводится во всех браузерах, которые я тестировал, поэтому я думаю, что моя проблема как-то связана с предупреждением. Я новичок в рельсах, поэтому я перепробовал все, что нашел в Google, но не решил свою проблему.

Я показываю видео с тегом video_tag так:

 <%= video_tag(url_for(@play.clip), style: "width:100%;height:auto", :controls => true) if @play.clip.attached? %>

И добавил meme_types.rb в инициализаторы со следующим кодом

Rack::Mime::MIME_TYPES.merge!({
                                ".mp4" => "video/mp4",
                              })

Я попытался отобразить видео, используя простой html5 (что то же самое), и, естественно, получаю те же предупреждения ...


person pride    schedule 09.09.2019    source источник
comment
Похоже, что URL-адрес, который вы указываете в качестве источника, не является видео или, по крайней мере, не распознается как видео. URL-адрес, по-видимому, заканчивается на '/ vid'. Итак, 2 вопроса: каков результат url_for(@play.clip)? Вы пробовали только video_tag( @video.clip )?   -  person Zavitoski    schedule 09.09.2019
comment
на ваши вопросы: 1- url_for (@ play.clip) результат rails / active_storage / blobs / eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBJQT09IiwiZXhwIjpudWxsLCJwdlkXIiOiJ302G19i. Я не думаю, что это связано с расширением. Я уже пробовал обходной путь, чтобы добавить расширение в URL-адрес, но это не проблема   -  person pride    schedule 09.09.2019
comment
Не могли бы вы тогда дать еще немного кода? Нравится модель Play.   -  person Zavitoski    schedule 09.09.2019
comment
@Zavitoski: ответил в комментарии   -  person pride    schedule 11.09.2019


Ответы (1)


фиксированный. Проблема заключалась не в самом активном хранилище. Запрос на воспроизведение видео был остановлен строкой, которую я написал в routes.rb, чтобы все "неизвестные маршруты" перенаправлялись на root_path:

get '*path' => redirect('/')

Теперь, когда видео воспроизводимое видео было исправлено, мне нужно иметь дело с «перенаправлением неизвестных путей в корневой каталог, не вызывая проблемы с GET».

person pride    schedule 11.09.2019