我正在尝试更新将trello卡导入体式的代码,我不得不更新到最新的asana gem https://github.com/Asana/ruby-asana。
现在,当我尝试按索引访问收藏品时,我收到此错误。
exportTrelloToAsana.rb:63:in `block in <main>': undefined method `[]' for #<Asana::Resources::Collection:0x007fbba1d0d810> (NoMethodError)
from exportTrelloToAsana.rb:56:in `each'
from exportTrelloToAsana.rb:56:in `<main>'
通过索引访问Asana :: Resources :: Collection的正确语法是什么?
client = Asana::Client.new do |c|
c.authentication :access_token, PERSONAL_ACCESS_TOKEN
end
workspaces = client.workspaces.find_all
workspace = workspaces[0]
答案 0 :(得分:0)
正如您在README.md中所提到的,图书馆将为包含多个元素和/或多个页面的API响应返回Asana::Resources::Collection。
除其他外,该集合是Enumerable并将公开Enumerable API。
有几种方法可以遍历集合的元素或获取集合的特定元素:
workspaces = client.workspaces.find_all
workspaces.take(1)
#<Asana::Workspace id: 1234, name: "Moon Landing">
workspaces.first
#<Asana::Workspace id: 1234, name: "Moon Landing">
workspaces.each
#<Enumerator:0x000001032df790>
还有一些examples,其中一个使用个人访问令牌iterate over the workspaces available