视频 HTML 标签未显示在 Rails 中
Video HTML tag not showing in Rails
当我在 _blob.html.erb 中预览 blob 时,我可以预览图像,但嵌入视频时遇到困难。下面的 <video>
标记未显示在网页中。
如果我 运行 blob.service_url
函数并将其输出粘贴到 <source src="<%= blob.service_url %>" type="video/mp4">
行中的位置,然后手动将视频标签粘贴到 Chrome HTML,视频播放器如我所愿出现,但我不明白为什么视频标签不能直接从 erb.html 文件编译。有谁知道为什么标签没有呈现?
<% if blob.representable? %>
<% if blob.video? %>
<video width="1024" height="768" controls>
<source src="<%= blob.service_url %>" type="video/mp4">
</video>
<%= blob.service_url %>
<% else %>
<%= image_tag blob.representation(resize_to_limit: local_assigns[:in_gallery] ? [ 800, 600 ] : [ 1024, 768 ]) %>
<% end %>
<% end %>
我已经在 post 的帮助下解决了我的问题:https://github.com/rails/rails/issues/36725。
原来我需要修改我的配置,因为默认情况下不允许使用各种标签。在 application.rb 中,我需要添加:
config.after_initialize do
ActionText::ContentHelper.allowed_attributes.add 'style'
ActionText::ContentHelper.allowed_attributes.add 'controls'
ActionText::ContentHelper.allowed_tags.add 'video'
ActionText::ContentHelper.allowed_tags.add 'source'
end
当我在 _blob.html.erb 中预览 blob 时,我可以预览图像,但嵌入视频时遇到困难。下面的 <video>
标记未显示在网页中。
如果我 运行 blob.service_url
函数并将其输出粘贴到 <source src="<%= blob.service_url %>" type="video/mp4">
行中的位置,然后手动将视频标签粘贴到 Chrome HTML,视频播放器如我所愿出现,但我不明白为什么视频标签不能直接从 erb.html 文件编译。有谁知道为什么标签没有呈现?
<% if blob.representable? %>
<% if blob.video? %>
<video width="1024" height="768" controls>
<source src="<%= blob.service_url %>" type="video/mp4">
</video>
<%= blob.service_url %>
<% else %>
<%= image_tag blob.representation(resize_to_limit: local_assigns[:in_gallery] ? [ 800, 600 ] : [ 1024, 768 ]) %>
<% end %>
<% end %>
我已经在 post 的帮助下解决了我的问题:https://github.com/rails/rails/issues/36725。
原来我需要修改我的配置,因为默认情况下不允许使用各种标签。在 application.rb 中,我需要添加:
config.after_initialize do
ActionText::ContentHelper.allowed_attributes.add 'style'
ActionText::ContentHelper.allowed_attributes.add 'controls'
ActionText::ContentHelper.allowed_tags.add 'video'
ActionText::ContentHelper.allowed_tags.add 'source'
end