Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 通过Rails video_tag helper添加自定义HTML代码(tag)_Ruby On Rails_Html - Fatal编程技术网

Ruby on rails 通过Rails video_tag helper添加自定义HTML代码(tag)

Ruby on rails 通过Rails video_tag helper添加自定义HTML代码(tag),ruby-on-rails,html,Ruby On Rails,Html,我正在尝试使用video_标签在Rails驱动的网站上为视频添加字幕。这将返回一个HTML5视频标签。但是,要添加字幕,您需要向HTML5标记添加一个子节点,如下所述: : 问题是,如何通过使用Rails video_tag helper添加另一个HTML标记 我目前的代码如下: <%= video_tag Video.last.file , size: "850x450", controls: true %> 这将生成以下HTML5视频标签: <video controls

我正在尝试使用video_标签在Rails驱动的网站上为视频添加字幕。这将返回一个HTML5视频标签。但是,要添加字幕,您需要向HTML5标记添加一个子节点,如下所述:

:

问题是,如何通过使用Rails video_tag helper添加另一个HTML标记

我目前的代码如下:

<%= video_tag Video.last.file , size: "850x450", controls: true %>
这将生成以下HTML5视频标签:

<video controls="controls" width="850" height="450" src="/uploads/video/file/14/blah_blah.mp4"></video>
不确定我如何才能在Rails视频标签内放入标签。如果我向helper添加另一个参数,这只会生成另一个src HTML标记,将其作为选项添加到video_标记会生成一个HTML属性,但不会生成子节点

显然,我可以通过将HTML代码直接放在我的ERB模板中来解决这个问题,但我的假设是Rails video_tag helper应该以某种方式支持这一点。
感谢您的帮助。谢谢

您只能传递视频标签中没有任何属性的源:

video_tag(["trailer.ogg", "trailer.flv"], size: "160x120")
# => <video height="120" width="160"><source src="/videos/trailer.ogg" /><source src="/videos/trailer.flv" /></video>

因此,HTML变通方法是解决此问题的唯一方法。

您只能传递视频标签中没有任何属性的源:

video_tag(["trailer.ogg", "trailer.flv"], size: "160x120")
# => <video height="120" width="160"><source src="/videos/trailer.ogg" /><source src="/videos/trailer.flv" /></video>

所以HTML变通方法是解决这个问题的唯一方法。

我相信有一个HTML5标签叫做track。我不太确定如何实现,我现在才开始读这篇文章。

我相信有一个HTML5标签叫做track。我不太确定如何实现,我现在才开始读这篇文章。

我知道示例中的Video.last.file不是显示上传视频的正确方式,这仅用于测试目的。我知道示例中的Video.last.file不是显示上传视频的正确方式,这仅用于测试目的。问题已经提到此标记是使用字幕的一种方式,并用它显示HTML片段。我在问是否有一种本地方式可以将标记与Rails助手一起使用。不管怎么说,现在问题解决了,我不得不在视图模板中使用原始HTML,但我不确定Rails的更高版本是否会解决这个问题。问题已经提到了这个标签作为处理字幕的一种方式,并用它显示HTML片段。我在问是否有一种本地方式可以将标记与Rails助手一起使用。不管怎么说,现在问题解决了,我不得不在视图模板中使用原始HTML,但不确定Rails的更高版本是否会修复此问题。
if sources.size > 1
  content_tag(type, options) do
    safe_join sources.map { |source| tag("source", :src => send("path_to_#{type}", source)) }
  end
else
  options[:src] = send("path_to_#{type}", sources.first)
  content_tag(type, nil, options)
end