ruby-on-rails - 尝试进行简单搜索时使用YouTube_IT时出现问题-Rails 3.1

标签 ruby-on-rails ruby-on-rails-3 youtube ruby-on-rails-3.1 youtube-api

我正在使用这个 gem :https://github.com/kylejginavan/youtube_it

我的VideosController看起来像这样:

class VideosController < ApplicationController
  def index
  client = YouTubeIt::Client.new(:username => YouTubeITConfig.username , :password => YouTubeITConfig.password , :dev_key => YouTubeITConfig.dev_key)
@video = client.videos_by(:user => 'marcamillion1983')

    respond_to do |format|
      format.html # index.html.erb
      format.json { render json: @video }
    end
  end

我的看法:
<%= @video %>

输出是这样的:
#<YouTubeIt::Response::VideoSearch:0x0000012995f7c0>

当我尝试执行@video.each do |video|时,它给我一个未知方法each的错误。

但是,当我在Ruby提示符下尝试该查询时,它返回结果:
ruby-1.9.2-p0 > client.videos_by(:user => 'marcamillion1983')
 => #<YouTubeIt::Response::VideoSearch:0x000001290484c0 @feed_id="tag:youtube.com,2008:user:marcamillion1983:uploads", @updated_at=2011-09-14 10:32:31 UTC, @total_result_count=1, @offset=1, @max_result_count=25, @videos=[#<YouTubeIt::Model::Video:0x00000129049050 @video_id="tag:youtube.com,2008:video:VY-Ch8OpjvY", @published_at=2011-03-04 18:49:56 UTC, @updated_at=2011-04-02 20:13:14 UTC, @categories=[#<YouTubeIt::Model::Category:0x00000100b430b0 @term="Comedy", @label="Comedy">], @keywords=["laughing baby", "funny baby", "funny laugh", "hysterical laugh", "laughing hysterically", "baby", "funny video", "home video", "cute baby", "cute baby laugh", "5 month old"], @title="Baby Laughing Hysterically at Mummy", @html_content=nil, @author=#<YouTubeIt::Model::Author:0x00000100a308f8 @name="marcamillion1983", @uri="http://gdata.youtube.com/feeds/api/users/marcamillion1983">, @description="Mia-Kalani (5 months at the time) was about to eat and Mummy was playing with her when she started laughing, so she decided to record it.\n\nEnjoy :)", @duration=38, @media_content=[#<YouTubeIt::Model::Content:0x000001008424d8 @url="http://www.youtube.com/v/VY-Ch8OpjvY?f=user_uploads&d=ATs-A8zzS5exgl44oxOFQt4O88HsQjpE1a8d1GxQnGDm&app=youtube_gdata", @format=#<YouTubeIt::Model::Video::Format:0x00000101428220 @format_code=5, @name=:swf>, @duration=38, @mime_type="application/x-shockwave-flash", @default=true>, #<YouTubeIt::Model::Content:0x00000100840c28 @url="rtsp://v8.cache6.c.youtube.com/CksLENy73wIaQgn2jqnDh4KPVRMYDSANFEgGUgx1c2VyX3VwbG9hZHNyIQE7PgPM80uXsYJeOKMThULeDvPB7EI6RNWvHdRsUJxg5gw=/0/0/0/video.3gp", @format=#<YouTubeIt::Model::Video::Format:0x00000101428248 @format_code=1, @name=:rtsp>, @duration=38, @mime_type="video/3gpp", @default=false>, #<YouTubeIt::Model::Content:0x0000010083efe0 @url="rtsp://v5.cache4.c.youtube.com/CksLENy73wIaQgn2jqnDh4KPVRMYESARFEgGUgx1c2VyX3VwbG9hZHNyIQE7PgPM80uXsYJeOKMThULeDvPB7EI6RNWvHdRsUJxg5gw=/0/0/0/video.3gp", @format=#<YouTubeIt::Model::Video::Format:0x000001014281f8 @format_code=6, @name=:three_gpp>, @duration=38, @mime_type="video/3gpp", @default=false>], @player_url="http://www.youtube.com/watch?v=VY-Ch8OpjvY&feature=youtube_gdata_player", @thumbnails=[#<YouTubeIt::Model::Thumbnail:0x000001277e15d0 @url="http://i.ytimg.com/vi/VY-Ch8OpjvY/default.jpg", @height=90, @width=120, @time="00:00:19">, #<YouTubeIt::Model::Thumbnail:0x000001277e0fe0 @url="http://i.ytimg.com/vi/VY-Ch8OpjvY/hqdefault.jpg", @height=360, @width=480, @time=nil>, #<YouTubeIt::Model::Thumbnail:0x000001277e09f0 @url="http://i.ytimg.com/vi/VY-Ch8OpjvY/1.jpg", @height=90, @width=120, @time="00:00:09.500">, #<YouTubeIt::Model::Thumbnail:0x000001277e0400 @url="http://i.ytimg.com/vi/VY-Ch8OpjvY/2.jpg", @height=90, @width=120, @time="00:00:19">, #<YouTubeIt::Model::Thumbnail:0x000001277dfe10 @url="http://i.ytimg.com/vi/VY-Ch8OpjvY/3.jpg", @height=90, @width=120, @time="00:00:28.500">], @rating=#<YouTubeIt::Model::Rating:0x00000129001520 @min=1, @max=5, @rater_count=2, @average=5.0, @likes=2, @dislikes=0>, @view_count=276, @favorite_count=1, @widescreen=nil, @noembed=false, @racy=false, @where=nil, @position=nil, @latitude=nil, @longitude=nil, @state={:name=>"published"}>]> 

如何获得正确的输出,以便可以在 View 上显示视频?

谢谢。

最佳答案

尽管我自己没有使用过该特定的gem,但看起来视频本身存储在返回的videos对象的YouTubeIt::Response::VideoSearch属性中。尝试使用@video.videos.each do |video|,看看是否可行。

关于ruby-on-rails - 尝试进行简单搜索时使用YouTube_IT时出现问题-Rails 3.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7417715/

相关文章:

jquery - 推特 Bootstrap 。删除列中 <div span> 元素之间的空格

ruby-on-rails - 在 Rails 4 中扩展可枚举

javascript - 如何通过浏览器管理视频 session "allow"要求?

swift - 在 Swift 中将视频上传到 YouTube

ruby-on-rails - 使用 Ruby on Rails 显示对象

ruby-on-rails - ActiveAdmin -- 显示嵌套表单的复选框列表而不是添加项目的表单

ruby-on-rails - habtm 关系上的计数器缓存?

javascript - YouTube影片上的HTML5浏览器播放器

youtube - 是否可以通过单个请求获取 YouTube 播放列表的标题、描述和项目?

ruby-on-rails - Mongoid 查询文档