0

我正在尝试使用 shopify_api gem 将产品添加到商店。这是我试图用来执行此操作的代码:

ShopifyAPI::Base.authenticate
variant_shopify = ShopifyAPI::Variant.create(
                          :compare_at_price => @variant.compare_at_price,
                          :created_at => @variant.created_at,
                          :fulfillment_service => @variant.product.vendor.fulfillment_service.name,
                          :grams => @variant.grams,
                          :id => @variant.id,
                          :inventory_management => @variant.inventory_management,
                          :inventory_policy => @variant.inventory_policy,
                          :inventory_quantity => @variant.inventory_quantity,
                          :price => @variant.price,
                          :requires_shipping => @variant.requires_shipping,
                          :sku => @variant.sku,
                          :taxable => @variant.taxable,
                          :title => @variant.title,
                          :updated_at => @variant.updated_at)
product_shopify = ShopifyAPI::Product.create(
                          :body_html => @product.body_html,
                          :created_at => @product.created_at,
                          :id => @product.id,
                          :images => [{ :src => @product.image.url }],
                          :product_type => @product.product_type,
                          :published_at => @product.published_at,
                          :template_suffix => @product.template_suffix,
                          :title => @product.title,
                          :updated_at => @product.updated_at,
                          :variant => variant_shopify,
                          :vendor => @product.vendor.business_name)

但是,此代码会导致来自 shopify 的 404 响应。关于我能做什么的任何想法?感谢您的帮助

4

1 回答 1

0

您的代码毫无意义。让我们从您的产品创建声明开始。您正在尝试使用哈希创建产品。美好的。为什么您的哈希参数是产品实例变量?好的.. 撇开这些不谈,当您创建产品时,您会从 API 获得一个 ID。此外,它还提供 created_at 日期的时间戳。创建不是更新,因此您不提供该更新。

假设您为@product 获取了现有产品,那么您不仅需要提供与此相关的参数,而且还必须提供唯一的句柄。将其分解为首先解决该问题,然后一切都会随之而来。

于 2013-07-03T20:45:29.777 回答