Невозможно обновить объект ShopifyAPI :: Collect с помощью скрипта Ruby

Я работаю над приложением shopify, в котором хочу запустить скрипт на Ruby. Я хочу обновить «позицию» и «sort_value» объекта Collect по этой ссылке https://docs.shopify.com/api/collect. Каждый раз, когда я пытаюсь это сделать, я получаю ошибку ActiveResource.

Вот мой код в irb:

require 'shopify'
require 'active_resource'

shop_url = "https://#{API_KEY}:{PASSWORD}@SHOP_NAME.myshopify.com/admin"
ShopifyAPI::Base.site = shop_url
product = ShopifyAPI::Collect.find(:id)
product.position = 4
product.save

Я пробовал приведенный ниже код, который отлично работает в irb

product = ShopifyAPI::Product.find(179761209)
product.handle = "burton-snowboard"
product.save

У меня такая ошибка:

ActiveResource :: ResourceNotFound: сбой. Код ответа = 404. Сообщение ответа = не найдено

Можем ли мы отправить HTTP-запрос PUT на объект Collect для обновления позиции? Заранее спасибо..


person Hiren Bhalani    schedule 14.05.2015    source источник


Ответы (1)


Похоже, вы не предоставляете никакого идентификатора для своего звонка.

product = ShopifyAPI :: Collect.find (: id)

Что это должно вернуть?

Я думаю, вам вернули 404, это хороший признак того, что вы не просите что-то с действительным идентификатором. Ваш второй звонок отлично работает с идентификатором.

person David Lazar    schedule 14.05.2015
comment
когда я запустил этот код product = ShopifyAPI::Collect.find(23423343), я получил ShopifyAPI::Collect объект. Но когда я пытаюсь обновить этот объект, я получил 404 ошибку. - person Hiren Bhalani; 15.05.2015
comment
Не беспокойтесь ... если вы прочитаете документацию по Collect, вы увидите, что не можете делать даже то, что пытаетесь сделать. Так что лучше всего прочитать документацию и двигаться дальше. - person David Lazar; 15.05.2015
comment
@David Lazar, вы хотите сказать, мы не можем изменить свойство 'position' в Collect. Что, если я захочу это изменить? Есть ли другой способ сделать это? Я хочу изменить положение товара в коллекции с помощью атрибута position. - person Nishant Upadhyay; 18.05.2015
comment
Я ничего не говорю. Попробуйте PUT, который, возможно, работает для существующих ресурсов. Документы и эксперименты - это все, что я знаю - person David Lazar; 18.05.2015