使用shopify gem创建产品会返回404错误

时间:2013-07-03 17:31:55

标签: ruby-on-rails ruby shopify

我正在尝试使用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响应。关于我能做什么的任何想法?感谢advnace的帮助

1 个答案:

答案 0 :(得分:0)

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

假设您为@product抓取了现有产品,那么您不仅需要提供相关参数,还需要提供独特的句柄。将其剥离以首先固定,其他所有都将遵循。