RestClient未定义方法`delete_if'用于#<string:0x4b699a8> </string:0x4b699a8>

时间:2011-11-11 01:17:03

标签: ruby-on-rails ruby-on-rails-3

好的,我正在使用RestClient并发送:

{"x_select_params":["account.*"],"domain":"thedomain"}

response = RestClient.get servername, @payload

我得到了

undefined method `delete_if' for #<String:0x4b699a8>

作为回应。

我知道请求很好,因为它在使用Chrome rest客户端扩展时工作正常,我认为RestClient在解析响应方面存在问题,应该看起来像这样:

{
    "user": {
        "id": 4035,
        "first_name": "Chris",
        "last_name": "Penta",
        "status": "PENDING",
        "domain": "thedomain",
        "default_account_id": 111315004004010,
        "primary_alias_id": 131090,
        "accounts": [
        {
            "id": 111315004004010,
            "urn": "111315004004010",
            "balance": 0,
            "status": 0,
            "currency_code": 840
        }
    ]
    }
}

这是RestClient中需要修补的错误吗?如果是这样,任何人都知道如何解决?

...谢谢克里斯

2 个答案:

答案 0 :(得分:0)

问题可能是您使用的是RestClient.get而不是RestClient.put

有关详细信息,请参阅passing json data in elasticsearch get request using rest-client ruby gem

答案 1 :(得分:0)

当标头为json格式时,我发现了此错误。它们必须是哈希才能起作用。