引号内的红宝石代码

时间:2011-12-01 01:47:59

标签: html ruby-on-rails

我想嵌入视频,并设法通过在需要的地方手动编码网址来实现。如果我的网址存储在<%= @ 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>

2 个答案:

答案 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将被识别并处理,无论它是否被引号括起。