2015-09-02 51 views
0

我對Ruby on Rails很陌生,希望得到一些幫助。 我已經能夠想出如何在我的節目頁面中嵌入YouTube視頻,並有標題顯示如何使用Oembed嵌入YouTube索引頁與RoR的縮略圖/標題

顯示視圖

#video_show 
    %h1= @youtube.title.html_safe 
    %p.username 
    Shared by 
    = @video.user.name 
    about 
    = time_ago_in_words(@video.created_at) 
    .clearfix 
    .video_image_show 
     = @youtube.html.html_safe 

視頻控制器

def index 
    @videos = Video.all.order("created_at DESC").paginate(page: params[:page], per_page: 20) 
    @video.link = Video.find(params[:id]) 
    @youtube = OEmbed::Providers::Youtube.get(@video.link) 


end 

def show 
    @infos = Info.where(video_id: @video) 
    @comments = Comment.where(video_id: @video) 
    @random_video = Video.where.not(id: @Video).order("RANDOM()").first 
    @youtube = OEmbed::Providers::Youtube.get(@video.link) 
end 

但隨後在我的索引頁面顯示縮略圖和標題,它告訴我,我有一個未定義的方法,如'標題'。

指數查看

- @videos.each do |video| 
    .Video 
     .Video_image 
      = image_tag @youtube.thumbnail_url.html_safe, video 
     .Video_content 
      .title 
       %h2= @youtube.title.html_safe, video 
      .data.clearfix 
       %p.username 
        Shared by 
        = video.user.name 

反正是有,我可以將視頻ID鏈接到索引頁面,這將允許透過oEmbed展現@youtube =透過oEmbed ::提供商:: Youtube.get(@video .link)縮略圖和標題?

在此先感謝

回答

0

這麼多,你不能設置在控制器的索引方法@youtube因爲在那一刻,你有視頻的數組。你需要有什麼是一樣的東西:

在控制器

def index 
    @videos = Video.all.order("created_at DESC").paginate(page: params[:page], per_page: 20) 
end 

,並在您HAML視圖

- @videos.each do |video| 
    - youtube = OEmbed::Providers::Youtube.get(video.link) 
    .Video 
     .Video_image 
      = image_tag youtube.thumbnail_url.html_safe, video 
     .Video_content 
      .title 
       %h2= youtube.title.html_safe, video 
      .data.clearfix 
       %p.username 
        Shared by 
        = video.user.name 
+0

非常感謝你,這已經竊聽我曾經和現在的作品: D不能感謝你,謝謝你的迴應:) – DrestZ

相關問題