名前付き引数を取るルビーのメソッドがある場合...
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]
)