Ruby on rails Ruby-hash中的变量

Ruby on rails Ruby-hash中的变量,ruby-on-rails,ruby,Ruby On Rails,Ruby,我为http请求传递了以下标头 s = { 'user-principal' => '{"userName":"rootname","password":"rootpassword"}', 'Accept' => 'application/json', 'Content-Type' => 'application/json' } 我不想直接传递用户名和密码。相反,我有UName和PASS变量,它们分别具有加密的用户名和密码。如何在头哈希中传递这

我为http请求传递了以下标头

s = { 
    'user-principal' => '{"userName":"rootname","password":"rootpassword"}', 
    'Accept' => 'application/json', 
    'Content-Type' => 'application/json' 
}

我不想直接传递用户名和密码。相反,我有
UName
PASS
变量,它们分别具有加密的用户名和密码。如何在头哈希中传递这些变量?

由于
用户主体
看起来像一个JSON字符串,您可以通过将哈希传递给
JSON.dump
来构造它。这将确保
UName
PASS
中的任何特殊字符都被正确转义:

s = { 
  'user-principal' => JSON.dump(
    'userName' => UName,
    'password' => PASS
  ),
  'Accept' => 'application/json', 
  'Content-Type' => 'application/json' 
}

s['user-principal']['password']=PASS
s['user-principal]['userName']=UName