活动存储:在video_tag中显示视频

时间:2018-06-22 17:57:01

标签: ruby-on-rails video rails-activestorage

在Rails 5.2应用程序中,我想显示以前通过Active Storage在S3中上传的视频。当我使用这个:

<%= video_tag [@banner_video.video_mp4, @banner_video.video_webm] %>

我收到此错误:

The asset "" is not present in the asset pipeline.

我检查了控制台,我的变量@banner_video正是我认为的样子。

3 个答案:

答案 0 :(得分:2)

我发现一个不使用video_tag的解决方案,但有一点点漏洞。

<video>
  <source src=<%= rails_blob_path(@banner_video.video_mp4) %> type="video/mp4" />
  <source src=<%= rails_blob_path(@banner_video.video_webm) %> type="video/webm" />
</video>

这是可行的,似乎video_tag没有处理远程源。

答案 1 :(得分:0)

正如@metaphysiker所说 这也可以正常工作:<%= video_tag rails_blob_path(session.video)%>

答案 2 :(得分:0)

我用来使其工作的2种变体

1)<% = video_tag url_for(@banner_video.file), size: "150x120", controls: true %>

或用于获取S3网址

2)<% = video_tag @banner_video.file.service_url, size: "150x120", controls: true %>