在 Rails 应用程序中嵌入 Youtube 视频
Embedding Youtube Video in Rails App
我正在尝试将管夹添加到我的 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
从您的错误代码可以清楚地看出,id 为 8 的配置文件没有 youtube url。因此,当您尝试对其应用 split(一种用于字符串的方法)时,会导致错误。
检查用户是否具有字段 youtube_url 的值。
为避免用户没有 youtube_url 的情况,我建议对您的观点进行以下更改。
<div class="embed-container">
<%= embed(@profile.youtube_url) if @profile.youtube_url %>
</div>
我正在尝试将管夹添加到我的 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
从您的错误代码可以清楚地看出,id 为 8 的配置文件没有 youtube url。因此,当您尝试对其应用 split(一种用于字符串的方法)时,会导致错误。
检查用户是否具有字段 youtube_url 的值。
为避免用户没有 youtube_url 的情况,我建议对您的观点进行以下更改。
<div class="embed-container">
<%= embed(@profile.youtube_url) if @profile.youtube_url %>
</div>