использование HTML5 тега видео в простом приложении rails - PullRequest
20 голосов
/ 16 ноября 2011

внутри 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 server и используйте Chrome, чтобы открыть страницу индекса.Я вижу черную рамку видео, но она не воспроизводится.и когда я пытаюсь открыть видео в новом окне.У меня нет совпадений маршрутов [GET] "/admin/truffle1.mp4" (обратите внимание, что admin - это просто пространство имен для контроллера).


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

Ответы [ 2 ]

36 голосов
/ 16 ноября 2011

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

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

EDIT

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

<%= 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

Я верю.

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

7 голосов
/ 17 ноября 2011

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

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