首页 > 解决方案 > 使用关键字参数调用方法

问题描述

Ruby 2.6.3
Rails 5.2

def test_method(param1:, param2:, param3:)
end

test_method(param1: "food")

它给了我以下错误消息:

Traceback (most recent call last):
        2: from (irb):11
        1: from (irb):8:in `test_method'
ArgumentError (missing keywords: param2, param3)

我认为使用方法参数的目的是让我能够在调用此方法时指定要使用的参数。我错过了什么?我在 Rails 5.2 应用程序中使用它,如果有区别的话。

标签: ruby-on-railsruby

解决方案


有必需的关键字参数(use something:)和可选的关键字参数(use something: default_value)。我认为必需的关键字参数应该在可选参数之前。


推荐阅读