2011-11-25 216 views
1

我试图在页面中嵌入视频。我尝试两种不同的方式,但没有运气在导轨中嵌入YouTube视频

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#视频显示

显示 /用户/ atbyrd /文件/网站/城市/应用/视图/视频/显示。 html.erb 其中行#15提出:

缺少部分共享/视频与{:处理器=> [:ERB,:助洗剂, :咖啡]:格式=> [:HTML]:场所=> [:en,:en]}。搜索范围:* “/ Users/atbyrd/Documents/sites/city/app/views”* “/Users/atbyrd/.rvm/gems/ruby-1.9.2-p290/gems/devise-1.5.1/应用程序/意见”

提取的源(围绕线#15):

12:13:

14:<%#video_tag(@ video.url,:大小=> “560x315”, :对照= > true,:autobuffer => true)%> 15:<%= youtube_video @ video.url%> 16:

17:18:<%= link_to'编辑', edit_video_path(@video)%> |

Rails.root:/ Users/atbyrd/Documents/sites/city应用程序跟踪| 框架跟踪|全面跟踪

应用程序/佣工/ application_helper.rb:4:youtube_video' app/views/videos/show.html.erb:15:in _app_views_videos_show_html_erb__1532956397246631491_70281299458880' 应用程序/控制器/ videos_controller.rb:18:在'秀”

+0

你能提供你的'@ video.url'和呈现的HTML?我认为第一种方式应该可行。 – miaout17

回答

3

您忘记关闭一个支架

<%= video_tag(@video.url %> 

应该

<%= video_tag(@video.url) %> 

UPDATE:

尝试使用video_path,而不是video_tag。

月2日更新:

这里就是我如何做到这一点我自己对我自己的网站:

1 - 创建一个名为局部_video.html.erb(我实际使用HAML,但如果你再培训局会做喜欢的话),并把它像一个文件夹中的观点/共享或东西的广告放置在它下面的代码:

<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 %> 

该工程确定为我

+0

''''''''''''''看起来确实有效,但视频并未播放可以右键单击并选择播放视频。然后将我发送到YouTube的页面 –

+0

更新的源代码和生成的html。我可以看到它的缓冲区,但从来没有得到它播放 –

+0

啊,我们可以看到你的video_tag帮助器方法的代码吗?另外,我把它视频。 url是一个格式正确的网址吗?像http://www.youtube.com/embed/xxxyyyzzz? – stephenmurdoch

1

我知道了,你忘了使用ERB句法。尝试:

<iframe width="560" height="315" src= "<%= #{@video.url} %>" frameborder="0" allowfullscreen></iframe> 
+0

布兰登是对的。 ''video_tag(@ video.url' – miaout17

+0

更新了代码和结果 –

1

@ miaout17是正确的,你不能在HTML中使用字符串插值,所以你必须把它包在厄尔布(例如<%=%>)。

此外,您在下面的链接中错过了结尾')',这可能是他们不工作的原因。