0

ruby on rails を使って mws api で製品を投稿しようとしています。ただし、常に次のメッセージが表示されます。

undefined method `sku' for #<Spree::Admin::MeController:0xce1cec0>

require 'mws-connect'

class Spree::Admin::MeController < Spree::Admin::ResourceController
      def index

        mws = Mws.connect(
            merchant: 'merchant',
            access: 'access',
            secret: 'secret'
        )

        sku = '12345678'
        product = Mws::Product sku {
          upc '123435566654'
          tax_code 'GEN_TAX_CODE'
          name 'Some Product 123'
          brand 'Some Brand'
          msrp 19.99, 'USD'
          manufacturer 'Some Manufacturer'
          category :ce
          details {
            cable_or_adapter {
              cable_length as_distance 5, :feet
            }
          }
        }
        submission_id = mws.feeds.products.add(product)
        result = mws.feeds.get(submission_id)
        puts "Submission: #{result.transaction_id} - #{result.status}"

      end

誰かが私を助けることができますか?

4

1 に答える 1

0

あなたの構文は、あなたがやりたいことをしていません。このセクションで:

    product = Mws::Product sku {
      upc '123435566654'
      tax_code 'GEN_TAX_CODE'
      name 'Some Product 123'
      brand 'Some Brand'
      msrp 19.99, 'USD'
      manufacturer 'Some Manufacturer'
      category :ce
      details {
        cable_or_adapter {
          cable_length as_distance 5, :feet
        }
      }
    }

あいまいなパラメーターが渡されたため、エラーが発生しています。Ruby は、どの関数を呼び出すかを判断するのに苦労しています。こう考えると。

product = Mws::Product(sku(bunch of stuff))

これがあなたがしていることです。関数 sku を呼び出して、結果を Mws::Product に渡そうとしています。関数 sku が存在しないため、失敗しています。

このコード ブロックは有効な Ruby 構文ではないため、Ruby の構文に慣れる必要があります。http://www.ruby-doc.org/core-2.0/Hash.htmlで、ハッシュの構文例をいくつか見ることができます。

于 2013-07-17T16:02:07.763 に答える