Подтвердить что ты не робот

Использование тегов HTML5 в простом приложении для рельсов

внутри index.html.erb есть следующий код

<video width="320" height="240" controls="controls">
      <source src="truffle1.mp4"/>
 Your browser does not support the video tag.
</video>

Я не уверен, где разместить файл видео mp4, поэтому я помещаю его в несколько мест.
Затем я запускаю сервер rails и использую Chrome для открытия индексной страницы. Я вижу черный видеокадр, но он не воспроизводится. и когда я пытаюсь открыть видео в новом окне. я получил Нет совпадений маршрутов [GET] "/admin/truffle1.mp4" (примечание admin - просто пространство имен для контроллера).


похоже, что это проблема маршрутизации рельсов...

4b9b3361

Ответ 1

Когда вы говорите src="truffle1.mp4", вы говорите Rails, чтобы искать этот файл с текущего маршрута (вы, вероятно, на localhost: 3000/admin, если вы пытаетесь его на локальном сервере, поэтому он ищет в локальном хосте:. 3000/администратор/truffle1.mp4)

Вы можете попробовать указать маршрут из дома вашего приложения так: src="/assets/media/truffle1.mp4" и поместить файл в этот каталог (вам, вероятно, придется его создать).

ИЗМЕНИТЬ

После ответа, предоставленного @Pragnesh Vaghela, мне удалось заставить его работать. Ваша первая интуиция была права. Вам не хватает маршрутизации, если вы хотите, чтобы ваши видео в/активы/видео. Когда вы говорите:

<%= video_tag "truffle1.mp4", :size => "320x240", :controls => true %>

сервер будет искать файл во всех каталогах ресурсов, которые были перенаправлены (по умолчанию: таблицы стилей, изображения и javascripts). Если вы разместите свое видео на изображениях, оно должно работать, например. Если вы хотите, чтобы каталог /assets/videos был также найден, вы должны добавить следующую строку в файл config/application.rb:

config.assets.paths << "#{Rails.root}/app/assets/videos"

Вы можете поместить его под строку, которая гласит:

config.assets.enabled = true

Я верю.

Надеюсь, что это сработает.

Ответ 2

Вы можете использовать помощник video_tag, который создает тэг HTML 5. Видеофайлы загружаются из "public/videos" по умолчанию.

<%= video_tag "truffle1.mp4", :size => "320x240", :controls => true %>