为什么 quickbooks 在尝试 create/update 某些属性时会失败?
Why does quickbooks fail when trying to create/update certain attributes?
我正在尝试使用 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:“”的未定义方法“地址”:String
好像我没有正确保存对象。有什么想法吗?
回答(感谢 Manas Mukherjee):
address = Quickbooks::Model::PhysicalAddress.new
address.line1 = "103 Fake St.
address.city = "Simsbury"
...
customer.billing_address = address
我还没有使用 ruby-gem 库。看起来,错误不是来自服务器,而是来自客户端 (ruby-gem)。
bill/ship地址没有定义为'String',它是一个复杂类型,叫做-'physicaladdress'。请检查您是否有正确的 setter 方法,该方法将 'physicaladdres' 类型作为参数。
Java 相当于 - customer.setBillAddr(PhysicalAddress val);
https://developer.intuit.com/docs/api/accounting [引用 - 复杂数据类型 -> 物理地址]。
我正在尝试使用 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:“”的未定义方法“地址”:String
好像我没有正确保存对象。有什么想法吗?
回答(感谢 Manas Mukherjee):
address = Quickbooks::Model::PhysicalAddress.new
address.line1 = "103 Fake St.
address.city = "Simsbury"
...
customer.billing_address = address
我还没有使用 ruby-gem 库。看起来,错误不是来自服务器,而是来自客户端 (ruby-gem)。
bill/ship地址没有定义为'String',它是一个复杂类型,叫做-'physicaladdress'。请检查您是否有正确的 setter 方法,该方法将 'physicaladdres' 类型作为参数。
Java 相当于 - customer.setBillAddr(PhysicalAddress val);
https://developer.intuit.com/docs/api/accounting [引用 - 复杂数据类型 -> 物理地址]。