【发布时间】:2013-04-28 10:18:39
【问题描述】:
如果我在 ruby 中有一个采用命名参数的方法...
def smoosh(first: nil, second: nil)
first + second
end
如果键匹配,将哈希传递给该方法的最简单方法是什么:
params = { first: 'peanut', second: 'butter' }
smoosh(params)
上面会产生一个参数错误。
更新:
这似乎是 Sinatra 参数工作方式的问题。
当我这样做时:
get 'a_sinatra_route' do
hash = params.clone
hash.symbolize_keys!
smoosh(hash)
end
它工作正常。仅自行传递参数时它不起作用。 (即使您可以使用符号键 params[:attr] 访问各个参数)
【问题讨论】:
-
请复制粘贴您的确切代码,因为您提供的代码应该可以工作。
-
您的代码似乎运行正常