尝试使用Spotify Web API的ruby包装器时获取未定义的方法

时间:2017-07-07 17:25:38

标签: ruby api spotify

我正忙着使用RSpotify,它是Spotify API的ruby包装器。

我添加了一个表单并发送了搜索结果参数,以便在API中查找但我收到以下错误:

NoMethodError: undefined method `empty?' for nil:NilClass
from /Users/user/.rvm/gems/ruby-2.3.1/gems/rspotify-1.21.0/lib/rspotify/connection.rb:71:in `send_request'

我仔细检查并重新安装了gem,将它添加到gemfile和所有内容中。我似乎无法弄清楚它为什么不起作用。

这是代码(几周前我写的时候它正在运行):

post '/music' do
  search =  RSpotify::Artist.search(params[:search])
    @artist = search.first
    @image = @artist.images.first["url"]
    @top_tracks = @artist.top_tracks(:US)
    albums = @artist.albums
    @titles = []
    albums.each { |album| @titles << album.name }
    @titles.uniq!
    @related_artists = @artist.related_artists
    erb :'/music/show'
end

1 个答案:

答案 0 :(得分:1)

您似乎使用的是过时的版本(1.21.0,根据您的输出判断)。当前版本为1.22.1(参见https://rubygems.org/gems/rspotify)=&gt;也许尝试更新。

此外,像杰夫所说:显然存在一个开放的GitHub问题,即当您未经过适当的身份验证时会出现此问题。因此,可以检查您的凭据是否已设置且2)仍然有效。检查凭据的一种简单方法是直接将它们与API一起使用(请参阅http://www.compciv.org/recipes/data/touring-the-spotify-api/)=&gt;如果他们不在那里工作,那可能不是代码,而是你的凭据不能正常工作。