在Rails应用程序中嵌入Youtube视频

时间:2015-03-14 04:32:06

标签: ruby-on-rails youtube

我正在尝试将你的管夹添加到我的rails应用程序。

我有一个配置文件助手说

  def embed(youtube_url)
     youtube_id = youtube_url.split("=").last
     content_tag(:iframe, nil, src: "//www.youtube.com/embed/#{youtube_id}")
   end

在我看来,我有

  <div class="embed-container"> 
        <%= embed(@profile.youtube_url) %>  
      </div>

我的助手说错误了:

NoMethodError at /profiles/8
undefined method `split' for nil:NilClass

1 个答案:

答案 0 :(得分:2)

从您的错误代码中明确表示ID为8的配置文件没有youtube网址。因此,当您尝试对其应用split(一种用于字符串的方法)时,会导致错误。

检查用户是否具有youtube_url字段的值。

为了避免用户没有youtube_url的情况,我建议您对视图进行以下更改。

<div class="embed-container">
  <%= embed(@profile.youtube_url) if @profile.youtube_url %>
</div>