2

当人们注册应用程序时,我正在尝试使用https://github.com/tapajos/highrise/更新用户帐户。但是,我并没有走得太远。

在控制台中我正在做:

person = Highrise::Person.create(:name => "charlie")

哪个保存得很好,但是如果我做类似的事情

person = Highrise::Person.create(:name => "charlie", :email => "charlie@222.com")

然后我得到:

Unprocessable Entity

我无法理解这一点,我基本上想添加一个完整的记录:

person = Highrise::Person.create(:name => "charlie", :params => {:contact_data => {:email_addresses => "charlie@222.com"}})

但是我仍然遇到同样的错误,并且在网上找不到任何示例

4

1 回答 1

6

你在最后一次尝试中走在了正确的轨道上。试试这个:

person = Highrise::Person.create(
    :first_name => "Charlie", :last_name => "Bravo",
    :contact_data => {
      :email_addresses => [{
        :email_address => {:address => "charlie@222.com"}
      }]
    }
  )

这与 Highrise API 中定义的创建人员请求的结构相匹配。https://github.com/37signals/highrise-api/blob/master/sections/people.md#create-person

您也可以参考 ruby​​ api 的测试规范以获取更多示例 https://github.com/tapajos/highrise/blob/f44cb3212c6d49549330c46454fe440ac117fa1b/spec/highrise/person_spec.rb#L40

于 2012-08-16T22:39:37.277 回答