1

环境

  • 红宝石[1.9.3p547]
  • 导轨[3.2.22.5]
  • sendgrid-ruby [4.0.8]

每当我运行 rails 服务器时,我在我的应用程序中使用了 sendgrid-ruby gem,它给了我以下来自 gems/sendgrid-ruby-4.0.8/lib/sendgrid/client.rb:17 的错误

/.rvm/gems/ruby-1.9.3-p547@demo/gems/sendgrid-ruby-4.0.8/lib/sendgrid-ruby.rb:1:in `require_relative': /.rvm/gems/ruby-1.9 .3-p547@demo/gems/sendgrid-ruby-4.0.8/lib/sendgrid/client.rb:17: 语法错误,意外 tLABEL,期待 ')' (SyntaxError) def initialize(api_key: nil, host: nil ,request_head ... ^ /.rvm/gems/ruby-1.9.3-p547@demo/gems/sendgrid-ruby-4.0.8/lib/sendgrid/client.rb:17:无法分配给nil .. .def 初始化(api_key:无,主机:无,request_headers:...... ^ /.rvm/gems/ruby-1.9.3-p547@demo/gems/sendgrid-ruby-4.0.8/lib/sendgrid /client.rb:17: 不能分配给 nil ...ialize(api_key: nil, host: nil, request_headers: nil, 版本... ... ^ /.rvm/gems/ruby-1.9.3- p547@demo/gems/sendgrid-ruby-4.0。8/lib/sendgrid/client.rb:17:无法分配给 nil ...ost:nil,request_headers:nil,版本:nil)

我检查了相同的文件和相同的 gem sengrid-ruby 行。它在线下

def initialize(api_key: nil, host: nil, request_headers: nil, version: nil)

如果我将其替换为以下内容,则不会给我。

def initialize(api_key, host, request_headers, version)

这是 rails 或 ruby​​ 相关版本的语法错误吗?在其他 gem 中还有很多其他包含相同语法的错误。我应该如何处理这种类型的语法错误?

4

1 回答 1

4

关键字参数需要 Ruby 的 2.0.0 或更高版本。https://thoughtbot.com/blog/ruby-2-keyword-arguments

于 2019-04-17T12:55:24.620 回答