在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正是我认为的样子。
答案 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 %>