gpt4 book ai didi

javascript - Rails应用程序不会使用 “embedd”附加youtube链接

转载 作者:行者123 更新时间:2023-12-03 06:25:52 26 4
gpt4 key购买 nike

我按照 sitepoint moviestore tutorial进行操作,除了用户购买电影后未将视频加载到iframe中之外,其他一切工作正常。我在一栏中有一个带有youtube url的csv文件,用于测试应用程序付款系统(使用braintree)。

查看html的源代码,显示的youtube链接没有嵌入部分,因此它从db文件中找到了信息,但没有将嵌入内容输入到链接中。实际上,我确实通过在CSV的youtube链接中手动输入“/ embed /”来使视频正常工作。

我对Rails很陌生,但是如果有人可以解释为什么它对我不起作用,我将不胜感激。

这是我的movie.rb模型的样子:

class Movie < ActiveRecord::Base
has_many :purchases
has_many :buyers, through: :purchases

before_save :embed_video_url

def poster
"http://ia.media-imdb.com/images/M/#{poster_url}"
end

def imdb
"http://www.imdb.com/title/#{imdb_id}/"
end

def embed_video_url
self.video_url = "//www.youtube.com/embed/#{video_url.split('v=')[1].split('&list')[0]}"
end

def cart_action(current_user_id)
if $redis.sismember "cart#{current_user_id}", id
"Remove from"
else
"Add to"
end
end
end

该 View 包含iframe
<%if signed_in?%>
<%if current_user.purchase? @movie %>
<div class="flex-video">
<iframe title="YouTube video player" width="100%" height="" src="<%= @movie.video_url %>" frameborder="0" allowfullscreen></iframe>
</div>
<%else%>
<%=link_to "", class: "button", data: {target: @cart_action, addUrl: add_to_cart_path(@movie), removeUrl: remove_from_cart_path(@movie)} do%>
<i class="fi-shopping-cart"></i>
<span><%=@cart_action%></span> Cart
<%end%>
<%end%>



这就是电影的 Controller 的外观
class MoviesController < ApplicationController
def index
@movies = Movie.all
end

def show
@movie = Movie.find(params[:id])
@cart_action = @movie.cart_action current_user.try :id
end
end

提前致谢!

最佳答案

embed_video_url方法中,您使用的video_url应该是self.video_url
您的方法可能无法处理所有情况,因此请检查Converting a regular Youtube 'link' into an embedded video问题。

或者,您可以自动获取embeded_url,然后查看Video Info gem。它支持youtubevimeoDailymotionVK

关于javascript - Rails应用程序不会使用 “embedd”附加youtube链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26727084/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com