NoMethodError尝试使用Ruby RestClient

up

我正在尝试使用RestClient与API通讯,并且出现此错误和回溯:

>> RestClient.post "http://localhost:8081/accounts", {}.to_json, content_type: :json, accept: :json
NoMethodError: undefined method `[]' for #<Set: {#<MIME::Type: application/json>}>
    from /Users/pupeno/.rvm/gems/ruby-2.3.1@console/gems/rest-client-1.6.7/lib/restclient/request.rb:307:in `type_for_extension'
    from /Users/pupeno/.rvm/gems/ruby-2.3.1@console/gems/rest-client-1.6.7/lib/restclient/request.rb:312:in `type_for_extension'
    from /Users/pupeno/.rvm/gems/ruby-2.3.1@console/gems/rest-client-1.6.7/lib/restclient/request.rb:278:in `block in stringify_headers'
    from /Users/pupeno/.rvm/gems/ruby-2.3.1@console/gems/rest-client-1.6.7/lib/restclient/request.rb:272:in `each'
    from /Users/pupeno/.rvm/gems/ruby-2.3.1@console/gems/rest-client-1.6.7/lib/restclient/request.rb:272:in `inject'
    from /Users/pupeno/.rvm/gems/ruby-2.3.1@console/gems/rest-client-1.6.7/lib/restclient/request.rb:272:in `stringify_headers'
    from /Users/pupeno/.rvm/gems/ruby-2.3.1@console/gems/rest-client-1.6.7/lib/restclient/request.rb:92:in `make_headers'
    from /Users/pupeno/.rvm/gems/ruby-2.3.1@console/gems/rest-client-1.6.7/lib/restclient/request.rb:58:in `initialize'
    from /Users/pupeno/.rvm/gems/ruby-2.3.1@console/gems/rest-client-1.6.7/lib/restclient/request.rb:33:in `new'
    from /Users/pupeno/.rvm/gems/ruby-2.3.1@console/gems/rest-client-1.6.7/lib/restclient/request.rb:33:in `execute'
    from /Users/pupeno/.rvm/gems/ruby-2.3.1@console/gems/rest-client-1.6.7/lib/restclient.rb:72:in `post'
    from (irb):5
    from /Users/pupeno/.rvm/gems/ruby-2.3.1@console/gems/railties-4.2.6/lib/rails/commands/console.rb:110:in `start'
    from /Users/pupeno/.rvm/gems/ruby-2.3.1@console/gems/railties-4.2.6/lib/rails/commands/console.rb:9:in `start'
    from /Users/pupeno/.rvm/gems/ruby-2.3.1@console/gems/railties-4.2.6/lib/rails/commands/commands_tasks.rb:68:in `console'
    from /Users/pupeno/.rvm/gems/ruby-2.3.1@console/gems/railties-4.2.6/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
    from /Users/pupeno/.rvm/gems/ruby-2.3.1@console/gems/railties-4.2.6/lib/rails/commands.rb:17:in `<top (required)>'
    from /Users/pupeno/Documents/qredo/console/bin/rails:9:in `require'
    from /Users/pupeno/Documents/qredo/console/bin/rails:9:in `<top (required)>'
    from -e:1:in `load'
    from -e:1:in `<main>'

任何想法出什么事了吗?据我所知,请求可能甚至没有到达服务器,但是我的行是在RestClient文档之后

光电离的

我会检查mime-types您的RestClient版本中安装了哪个版本的gem。看起来这些版本可能不兼容。快速挖掘RestClient源代码,您的堆栈跟踪就在这里发生:

https://github.com/rest-client/rest-client/blob/v1.6.7/lib/restclient/request.rb#L307

看起来像在安装的mime-types版本中,@extension_index是指没有[]实例方法的集合mime类型的gem有点难以刺入,但是我认为Set正在/lib/mime/types/container.rbhere初始化

因此,这意味着您有两种选择。您可以将mime类型的gem固定到Gemfile中的旧版本,也可以升级RestClient。看起来RestClient版本1.7.3删除了导致此问题的猴子补丁。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

未使用restclient找到

来自分类Dev

RestClient使用auth_token获取

来自分类Dev

RestClient中使用Rails的POST方法

来自分类Dev

RestClient使用Resource进行GET操作

来自分类Dev

使用RESTClient进行Grails和Jira集成

来自分类Dev

如何获得Ruby的RestClient使用多值查询参数?

来自分类Dev

Ruby RestClient访问Rational Team Concert(RTC)REST

来自分类Dev

RestClient在Ruby中引发一些错误

来自分类Dev

如何使用Groovy HTTPBuilder RESTClient构建HTTP帖子

来自分类Dev

如何正确格式化json以使用RestClient发送

来自分类Dev

如何使用RestClient在发布请求中发送数据

来自分类Dev

如何使用RestClient发送用户名和密码

来自分类Dev

如何使用restclient将以下curl代码转换为ruby代码

来自分类Dev

如何使用RestClient包装每个请求以使用:verify_ssl => false?

来自分类Dev

在RESTClient中使用ntlm身份验证的正确方法是什么?

来自分类Dev

如何在RestClient中使用以下方法获取重定向URL

来自分类Dev

如何使用Elasticsearch的RESTClient实现时避开“通过对等连接复位”

来自分类Dev

如何使用带有NSURLSessionDownloadTask的restclient dropbox API来下载文件

来自分类Dev

在RESTClient中使用ntlm身份验证的正确方法是什么?

来自分类Dev

如何正确使用groovyx.net.http.RESTClient中的get方法

来自分类Dev

无法从Eclipse中的Client或restclient-ui使用外部RestFul Web服务

来自分类Dev

如何在RestClient中使用以下方法获取重定向URL

来自分类Dev

不能使用自定义 restClient 将 id 替换为 _id。解析错误:意外的令牌

来自分类Dev

python中的Twillio Restclient

来自分类Dev

Delphi RESTClient POST请求

来自分类Dev

RestClient返回通用响应

来自分类Dev

Restclient抛出异常

来自分类Dev

如何在RestClient中使用AWS(Amazon Web Services)EC2 DescribeInstanceStatus API请求(Chrome扩展)

来自分类Dev

使用 JWT 令牌的 API 在 Postman 或 RestClient 中不起作用,但在 chrome 和 app 中起作用

Related 相关文章

  1. 1

    未使用restclient找到

  2. 2

    RestClient使用auth_token获取

  3. 3

    RestClient中使用Rails的POST方法

  4. 4

    RestClient使用Resource进行GET操作

  5. 5

    使用RESTClient进行Grails和Jira集成

  6. 6

    如何获得Ruby的RestClient使用多值查询参数?

  7. 7

    Ruby RestClient访问Rational Team Concert(RTC)REST

  8. 8

    RestClient在Ruby中引发一些错误

  9. 9

    如何使用Groovy HTTPBuilder RESTClient构建HTTP帖子

  10. 10

    如何正确格式化json以使用RestClient发送

  11. 11

    如何使用RestClient在发布请求中发送数据

  12. 12

    如何使用RestClient发送用户名和密码

  13. 13

    如何使用restclient将以下curl代码转换为ruby代码

  14. 14

    如何使用RestClient包装每个请求以使用:verify_ssl => false?

  15. 15

    在RESTClient中使用ntlm身份验证的正确方法是什么?

  16. 16

    如何在RestClient中使用以下方法获取重定向URL

  17. 17

    如何使用Elasticsearch的RESTClient实现时避开“通过对等连接复位”

  18. 18

    如何使用带有NSURLSessionDownloadTask的restclient dropbox API来下载文件

  19. 19

    在RESTClient中使用ntlm身份验证的正确方法是什么?

  20. 20

    如何正确使用groovyx.net.http.RESTClient中的get方法

  21. 21

    无法从Eclipse中的Client或restclient-ui使用外部RestFul Web服务

  22. 22

    如何在RestClient中使用以下方法获取重定向URL

  23. 23

    不能使用自定义 restClient 将 id 替换为 _id。解析错误:意外的令牌

  24. 24

    python中的Twillio Restclient

  25. 25

    Delphi RESTClient POST请求

  26. 26

    RestClient返回通用响应

  27. 27

    Restclient抛出异常

  28. 28

    如何在RestClient中使用AWS(Amazon Web Services)EC2 DescribeInstanceStatus API请求(Chrome扩展)

  29. 29

    使用 JWT 令牌的 API 在 Postman 或 RestClient 中不起作用,但在 chrome 和 app 中起作用

热门标签

归档