活动存储:在 video_tag 中显示视频
Active Storage: displaying video in video_tag
在 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 正是我认为应该的。
我发现了一个不使用 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
没有处理远程源。
正如@metaphysiker所说
这也适用:<%= video_tag rails_blob_path(session.video) %>
2 个我用来让它工作的变体
<%= video_tag url_for(@banner_video.file), size: "150x120", controls: true %>
或与获得 S3 url
<%= video_tag @banner_video.file.service_url, size: "150x120", controls: true %>
来自:
<%= video_tag rails_blob_path(@banner_video.video_mp4) %>
在 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 正是我认为应该的。
我发现了一个不使用 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
没有处理远程源。
正如@metaphysiker所说 这也适用:<%= video_tag rails_blob_path(session.video) %>
2 个我用来让它工作的变体
<%= video_tag url_for(@banner_video.file), size: "150x120", controls: true %>
或与获得 S3 url
<%= video_tag @banner_video.file.service_url, size: "150x120", controls: true %>
来自
<%= video_tag rails_blob_path(@banner_video.video_mp4) %>