ruby-on-rails Ruby Gem -无法将字符串转换为整数错误

atmip9wb  于 2023-03-04  发布在  Ruby
关注(0)|答案(1)|浏览(165)

我正在使用a2z gem与Amazon的Product Advertising API一起工作,当我尝试在item_lookup请求中指定多个product_id时,gem遇到了这个问题。我是否可以修复这个问题,或者我必须联系gem作者?

can't convert String into Integer

下面是我的代码:

def product_lookup
    # Check which Retailer this is for
    case params[:retailer] 
        when "amazon"
            client = A2z::Client.new(key: ENV["AMAZON_PAAPI_KEY"], secret: ENV["AMAZON_PAAPI_SECRET"], tag: ENV["AMAZON_PAAPI_TAG"])
            product_ids = []
            product_ids << product_one_id = params[:product_one_id]
            product_ids << product_two_id = "B00D43QGPS"
            product_ids = product_ids.join(",")

            @products = client.item_lookup do
                 id product_ids
                 response_group 'Small, Images, OfferListings'
            end

            render :json => @products

    end
end
guykilcj

guykilcj1#

Gem creator here.:)谢谢你的问题,也谢谢你在Github上添加这个问题。
我想知道gem依赖项或Amazon响应结构中是否发生了一些变化,除非我无意中通过另一个变化打破了它,因为gem目前缺乏测试。
我知道问题出在哪了:响应是散列数组(即:多个产品),而我只是将其视为哈希(即:一个单一的产品)。我需要改变响应解析,以考虑数组,这应该不是太难。让我看看我是否可以得到一个修复在一起。

相关问题