2011-11-25 217 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中使用字符串插值,所以你必須把它包在厄爾布(例如<%=%>)。

此外,您在下面的鏈接中錯過了結尾')',這可能是他們不工作的原因。