为什么在尝试创建/更新某些属性时quickbooks会失败?

时间:2015-01-19 18:41:04

标签: ruby-on-rails ruby quickbooks

我正在尝试使用quickbooks API创建新客户。如果我只传递名称和活动属性,它可以正常工作。但是,当我传递其他属性时,它会失败。

ruby​​ 1.9.3p194 - Rails 3.1.3

gem'strong_parameters','〜> 0.2.3'

gem'quickbooks-ruby'

gem'quickbooks-ruby-base'

gem'oauth-plugin'

base = Quickbooks::Base.new(@user, :customer)
customer = base.qr_model(:customer)
customer.given_name = patient.first_name
customer.family_name = patient.last_name
customer.active = true
customer.primary_phone = patient.home_phone
customer.primary_email_address = patient.email
customer.billing_address = patient.address1 + " " + patient.address2 + " " + patient.city + " " + patient.state + " " + patient.zip
base.service.create(customer)

错误: NoMethodError:“”:字符串

的未定义方法`address'

好像我没有正确保存对象。有什么想法吗?

答案(感谢Manas Mukherjee):

address  = Quickbooks::Model::PhysicalAddress.new
address.line1 = "103 Fake St.
address.city = "Simsbury"
... 
customer.billing_address = address

1 个答案:

答案 0 :(得分:1)

我还没有使用ruby-gem lib。 看起来,错误不是来自服务器而是来自客户端(ruby-gem)。

帐单/送货地址未定义为'字符串',它是一种称为“' physicaladdress'”的复杂类型。请检查您是否有正确的二传手术方法,该方法需要一个物理学上的'输入参数。

java相当于此 - customer.setBillAddr(PhysicalAddress val);

https://developer.intuit.com/docs/api/accounting [参考 - 复杂数据类型 - > physicaladdress]。

客户文件参考 - https://developer.intuit.com/docs/0025_quickbooksapi/0050_data_services/030_entity_services_reference/customer

由于