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

标签 javascript ruby-on-rails ruby iframe youtube

我按照 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/

相关文章:

javascript - React 中的 JSX 循环

javascript - 使用 var 与 let/const 的 block 级变量重新声明

ruby-on-rails - rails rake 路线他们来自哪里

ruby-on-rails - Rails 和 Redis

javascript - 如果键保持不变,但其他值发生变化,如何重新渲染?

javascript - 为什么高度为 : 0 can not work in css definition

ruby-on-rails - OAuthException : This authorization code has been used - Facebook

ruby-on-rails - 是否可以从 ActiveRecord 组查询中返回带有命名键的哈希?

ruby-on-rails - sidekiq-superworker 的 superjob 完成时调用函数

ruby - 在 vim/macvim 中更改 $PATH 以便找到正确的 ruby​​ 二进制文件