对于#,未定义的方法`each'(undefined method `each' for #)

编程入门 行业动态 更新时间:2024-10-25 04:18:03
对于#未定义的方法`each'(undefined method `each' for #)

我希望有人可以提供帮助,我可以连接到soundcloud并获取一个项目列表,但它只是一堆文本。 当我尝试在列表中对它进行排序时,为#SoundCloud :: Client获取错误“undefined method` each':0x87288f0>”

soundcloud控制器:

def self.search @client = Soundcloud.new(:client_id => ENV["SOUNDCLOUD_CLIENT_ID"]) end

search.html.erb

<!--this works--> <%= @client.get('/tracks', :q => 'some user') %> <!--this does not--> <% @client.each do |s| %> <ul> <li><%= s.get('/tracks', :q => 'some user') %></li> </ul> <% end %>

I hope someone can help, i can connect to soundcloud and get a list of items but it is just a bunch of text. when i try to order it in a list a get the error "undefined method `each' for #SoundCloud::Client:0x87288f0>"

soundcloud controller:

def self.search @client = Soundcloud.new(:client_id => ENV["SOUNDCLOUD_CLIENT_ID"]) end

search.html.erb

<!--this works--> <%= @client.get('/tracks', :q => 'some user') %> <!--this does not--> <% @client.each do |s| %> <ul> <li><%= s.get('/tracks', :q => 'some user') %></li> </ul> <% end %>

最满意答案

尝试这个:

<% @client.get('/tracks', :q => 'some user').each do |track| %> <ul> <li><%= track.title %></li> </ul> <% end %>

@client.get('/tracks', :q => 'some user')返回可以枚举的track对象的集合。

track对象本身并不是可枚举的,这就是为什么在尝试在其中一个上调用.each方法时会遇到错误的原因。

Try this:

<% @client.get('/tracks', :q => 'some user').each do |track| %> <ul> <li><%= track.title %></li> </ul> <% end %>

@client.get('/tracks', :q => 'some user') returns a collection of track objects which can be enumerated.

By themselves track objects are not enumerable and that is why you are getting error when trying to call .each method on one of them.

更多推荐

本文发布于:2023-08-08 00:41:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1466749.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:未定义   方法   method   undefined

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!