给出以下代码:
params = {:async => true, :contact_id => "101"}
puts "async is #{params['async']}"
if params['async'] == true
puts "Do async stuff"
# TODO Launch background task
return [204, {}, ['']]
end
当我看到输出"Do async stuff"
时,为什么我永远不会得到行"async is true"
?
答案 0 :(得分:5)
写为params[:async]
。您的密钥:async
为 Symbol
,而不是 String
。
以下是修改后的代码:
if params[:async] == true
puts "Do async stuff"
# TODO Launch background task
return [204, {}, ['']]
end
答案 1 :(得分:3)
您的'async'
哈希中没有密钥params
,因此它将返回nil
,其不等于true
。您的哈希中 是一个键:async
,但您不是要求该密钥。