#<Hash:0x00007f303593d6d8> 的未定义方法 `last'

问题描述

在 Workato 的自定义 sdk 中尝试以下代码

poll: lambda do |connection,input,last_updated_at|
      per_page = 1
      last_updated_at = (last_updated_at || input['since']).to_time.utc.iso8601
      candidates = get("https://api.stripe.com/v1/customers")
      last_updated_at = candidates.last["created"] unless candidates.blank?

出现错误 #Hash:0x00007f303593d6d8 行的未定义方法 `last':

解决方法

There is no Hash#last method。散列确实保持它们的插入顺序,但你应该在概念上将它们视为无序的。 Hash 的“最后一个”元素的概念根本没有意义。