我正在尝试在页面中嵌入视频。我尝试了两种不同的方式,但没有运气
show.html.erb
<p id="notice"><%= notice %></p>
<p>
<b>Name:</b>
<%= @video.name %>
</p>
<p>
<b>Url:</b>
<%= @video.url %>
</p>
<p>
<% #video_tag( @video.url , :size => "560x315", :controls => true, :autobuffer => true ) %>
<%= youtube_video @video.url%>
</p>
<%= link_to 'Edit', edit_video_path(@video) %> |
<%= link_to 'Back', videos_path %>
视频未显示其下方的链接。
任何提示将不胜感激。谢谢
这是调试结果
视频中的ActionView :: MissingTemplate#show
显示 /Users/atbyrd/Documents/sites/city/app/views/videos/show.html.erb 第15行引出的地方:
缺少部分共享/视频{:handlers =&gt; [:erb,:builder, :coffee],:formats =&gt; [:html],:locale =&gt; [:en,:en]}。搜索范围:* “/ Users / atbyrd / Documents / sites / city / app / views”* “/Users/atbyrd/.rvm/gems/ruby-1.9.2-p290/gems/devise-1.5.1/app/views”
提取的来源(第15行):
12:13:
14:&lt;%#video_tag(@ video.url,:size =&gt;“560x315”, :controls =&gt; true,:autobuffer =&gt; true)%&gt; 15:&lt;%= youtube_video @ video.url%GT; 16:
17:18:&lt;%= link_to'编辑', edit_video_path(@video)%&gt; |
Rails.root:/ Users / atbyrd / Documents / sites / city应用程序跟踪| 框架跟踪|完整跟踪
app / helpers / application_helper.rb:4:
youtube_video' app/views/videos/show.html.erb:15:in
_ app_views_videos_show_html_erb__1532956397246631491_70281299458880' app / controllers / videos_controller.rb:18:在'show'
答案 0 :(得分:3)
您忘记关闭括号
<%= video_tag( @video.url %>
应该是
<%= video_tag( @video.url ) %>
更新:
尝试使用video_path代替video_tag。
第二次更新:
这是我在自己的网站上自己做的事情:
1 - 创建一个名为_video.html.erb的部分(我实际上使用haml,但是如果您愿意的话,erb会这样做)并将其放在像views / shared这样的文件夹中或广告中放入以下代码:< / p>
<iframe width="490" height="275" src="<%= url %>" frameborder="0" allowfullscreen></iframe>
2将以下方法添加到application_helper.rb
module ApplicationHelper
# this method will embed the code from the partial
def youtube_video(url)
render :partial => 'shared/video', :locals => { :url => url }
end
end
3 - 现在只需在您的观看中调用:
<%= youtube_video @video.url %>
这对我有用
答案 1 :(得分:1)
我明白了,你忘了使用erb语法。尝试:
<iframe width="560" height="315" src= "<%= #{@video.url} %>" frameborder="0" allowfullscreen></iframe>
答案 2 :(得分:1)
@ miaout17是对的,您不能在HTML中使用字符串插值,因此您必须将其包装在Erb中(例如&lt;%=%&gt;)。
此外,您在下面的链接中错过了一个结尾')',这可能就是他们无法正常工作的原因。