我想嵌入视频,并设法通过在需要的地方手动编码网址来实现。如果我的网址存储在<%= @ vid.url%>中,我如何将该字符串用于value和src参数?
<object width="480" height="385"><param name="movie" value="http://www.youtube.com/videos/abc123"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/videos/abc123" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object>
答案 0 :(得分:4)
很多IDE都没有正确地突出显示这一点,但ruby解释器会在将HTML输出到浏览器之前自动解析ruby,所以当浏览器收到它时,就会看起来好像有一个硬编码的URL。所以基本上,这个代码在这里:
<object width="480" height="385"><param name="movie" value="<%= @vid.url %>"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="<%= @vid.url %>" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object>
当浏览器收到你的问题时,会变成你在那里的代码
答案 1 :(得分:1)
您可以将ERB代码放在HTML字符串中,即。这将有效:
value="<%= @vid.url %>"
解析HTML时,ERB将被识别并处理,无论它是否被引号括起。