我对rails很陌生,所以这可能是一个简单的问题,但我想创建一个rails应用程序,将使用youtube在它。我发现youtube_it似乎是选择这样一个任务的宝石,但我有麻烦使用它。基本上,我想使用宝石,这样我就可以从特定的用户,即斯坦福大学获得视频,并创建一个链接到另一个页面的视频列表,有视频信息和播放器。为了测试这一点,我尝试了以下代码:
application_controller.rb
class ApplicationController < ActionController::Base
protect_from_forgery
helper_method :yt_client
private
def yt_client
@yt_client ||= YouTubeIt::Client.new(:dev_key => dev_key)
end
end
home_controller.rb
class HomeController < ApplicationController
def index
@playlists = yt_client.playlists('stanforduniversity')
end
end
index.html.erb
<h3>Home</h3>
<% @playlists.each do |playlist| %>
<p>Playlist: <%= playlist %></p>
<% end %>
这样做的问题是,我在主页上得到的输出都是这样的列表:#
我的问题是:有没有办法把这个输出变成一个实际的标题?我做错了什么/忘记了一个步骤吗?或者我应该使用python代码使用谷歌API,并把所有的视频到我的数据库(我已经有一些代码),只是访问它使用我的rails应用程序?
看起来您想要打印的是播放列表的名称-但这是播放列表对象的属性,因此您需要这样的内容:
<% @playlists.each do |playlist| %>
<p>Playlist: <%= playlist.title %></p>
<% end %>
否则ruby会尝试"打印"播放列表对象——这并不像你期望的那样工作。
注意:我也没有使用过这个gem,我是从这里的gem文档中收集这些信息的:https://github.com/kylejginavan/youtube_it
https://github.com/kylejginavan/youtube_it或youtube_it是youtube_g的新版本。这是分支和增强。如果您需要任何改进,请联系我
我在这里做了一个完整的演示
http://youtube-it.heroku.com/包括源!