Ruby Gem - невозможно преобразовать строку в целочисленную ошибку

Я использую гем a2z для работы с API рекламы продуктов Amazon, и у меня возникла эта проблема с gem, когда я пытаюсь указать несколько product_ids в запросе item_lookup. Могу ли я это исправить или мне нужно связаться с автором драгоценного камня?

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

person ac360    schedule 18.08.2013    source источник
comment
Самое замечательное в GitHub то, что вы можете исправить что угодно. :) Вы можете выполнить вилку, исправить и отправить запрос на перенос, а затем указать свое приложение на вилку a2z, пока автор не успеет слиться. Какая строка вызывает ошибку?   -  person Kyle    schedule 19.08.2013
comment
Учитывая определение id на github.com/mhuggins/ a2z / blob / master / lib / a2z / requests /, ясно, что он ожидает формат, который вы передаете, в смысле значений, разделенных запятыми, поэтому проблема должна быть глубже. Также обратите внимание, что вы можете не выполнять join самостоятельно, поскольку метод id сделает это за вас, если передан Array.   -  person Peter Alfvin    schedule 19.08.2013


Ответы (1)


Создатель драгоценных камней здесь. :) Спасибо за вопрос и за добавление проблемы на Github.

Мне интересно, изменилось ли что-то в зависимости от драгоценного камня или в структуре ответа Amazon, если только я случайно не нарушил это посредством другого изменения, поскольку на данный момент драгоценный камень не имеет тестов.

Я понимаю, в чем проблема: ответ представляет собой массив хэшей (то есть несколько продуктов), и я просто рассматриваю его как хеш (то есть один продукт). Мне нужно изменить синтаксический анализ ответа для учета массивов, что не должно быть слишком сложно. Дай мне посмотреть, смогу ли я исправить это вместе.

person Matt Huggins    schedule 19.08.2013