Ich versuche, ein YouTube-Video in meine Rails-Anwendung einbetten und bin nach this guide:nicht definierte Methode `letzte‘ für nil: NilClass für youtube einbetten in Schienen
Ich habe diese Helfer geschrieben:
def embed(video)
youtube_id = @page.video.try(:split, "=").last || 'blank'
content_tag(:iframe, nil, src: "//www.youtube.com/embed/#{youtube_id}")
end
ich erhalte diese Fehlermeldung: nicht definierte Methode `letzte‘ für nil: NilClass
Hier ist, was ich in meiner Sicht haben: pages/show.html.erb
<div class="embed-container">
<%= embed(@page.video) %>
</div>
Der Leitfaden scheint ziemlich geradlinig, so dass ich nicht sicher bin, warum meine ursprüngliche Version nicht funktionierte.
Meine ursprüngliche Helfer sah wie folgt aus:
def embed(video)
youtube_id = video.split("=").last
content_tag(:iframe, nil, src: "//www.youtube.com/embed/#{youtube_id}")
end
aber es warf einen weiteren Fehler: nicht definierte Methode `split‘ für nil: NilClass
ich went here und fand, was ich dachte, könnte eine sein Lösung, aber es führte zu dem neuen Fehler oben. Ich habe auch versucht, @ page.video.split statt nur Video hinzuzufügen, weil es die Show-Ansicht für eine bestimmte Seite ist, aber ich bin mir nicht sicher, ob make einen Unterschied macht.
Irgendwelche Vorschläge, wie ich das zum Laufen bringen kann?
Ihr ursprünglicher Helfer ist besser; Das Problem ist, dass '@ page.video' gleich null ist. – Ryan
Überprüfen Sie, was '@ page.video' zurückgibt – psantos
Was genau ist Ihre' @ Seite'? und kannst du zeigen, wo du es initialisierst? –