0

クイックブックをオンラインで接続するために、レール 3.2 と quickeebook gemを使用しています。Railsアプリケーションとquickbookの接続は完了しましたが、新しい問題に直面しています。

customer.name を quickbook に保存しようとすると、コントローラーを介して正常に保存されますが、customer.id、customer.email、customer.zipcode、customer.phone などのフィールドを渡そうとすると、エラーが発生します。quickeebook gem を使用してこのデータを保存するにはどうすればよいですか

申し訳ありませんが、エラーとコードについて説明するのを忘れていました

oauth_client = OAuth::AccessToken.new($qb_oauth_consumer, current_login.access_token, current_login.access_secret)


    #creating customer in quickbooks
    customer_service = Quickeebooks::Online::Service::Customer.new
    customer_service.access_token = oauth_client
    customer_service.realm_id = current_login.realm_id
    customer_service.list

    customer = Quickeebooks::Online::Model::Customer.new
    customer.name = "New Customer2"
    customer.email_address = "new_customer1@gmail.org"
    customer.given_name = "New"
    customer.middle_name = "H."
    customer.family_name = "Customer"
    customer.phone = "9845845854"
    customer.web_site = "www.google.com"
    customer.billing_address = "this is billing address"
    customer.city = "Bangalore"
    customer_service.create(customer)

これらのフィールドをオンラインのクイックブックに挿入したいとします。しかし、これは次のようなエラーを生成しています:

undefined method `to_xml' for "9845845854":String

family_name までの他のフィールドは完全に機能していますが、電話番号、住所、web_site、市区町村などのフィールドについては、これらの値をクイックブック エラーにプッシュするたびに次のようなエラーが発生します。

undefined method `to_xml' for "9845845854":String
undefined method `to_xml' for "www.google.com":string
undefined method `city=' for #<Quickeebooks::Online::Model::Customer:0xb5150e68>

来ています。このエラーを修正するにはどうすればよいですか?

4

1 に答える 1

1

最後に、問題は解決されました....

postal_code、line1、line2、city などのフィールドは、住所フィールドに関連しています。だから書く代わりに

customer.city = "Bangalore"

最初に住所モデルを継承する必要があり、次のように顧客に住所配列を渡す必要があります。

    address = Quickeebooks::Online::Model::Address.new
    address.line1 = "address 1"
    address.line2 = "my fake address"
    address.city = "awesome city"
    address.country_sub_division_code = "wooooooo..."
    address.postal_code = "12345"
    customer.addresses = [address]

同様に、電話番号の場合:

    phone1 = Quickeebooks::Online::Model::Phone.new
    phone1.device_type = "Primary"
    phone1.free_form_number = "973-855-0394"
    phone2 = Quickeebooks::Online::Model::Phone.new
    phone2.device_type = "Mobile"
    phone2.free_form_number = "5458565298"
    phone3 = Quickeebooks::Online::Model::Phone.new
    phone3.device_type = "Fax"
    phone3.free_form_number = "5458565298"
    customer.phones = [phone1, phone2, phone3]

等々....

于 2013-08-14T09:13:42.617 に答える