我对Ruby和Sinatra都比较新,但基本上我有这个路由:
put '/user_list/:user_id' do
puts request.params["model"]
end
并且它返回以下内容
{"password":"36494092d7d5682666ac04f62d624141","username":"nicholas","user_id":106,"firstname":"Nicholas","email":"nicholas@macpractice.com","is_admin":0,"lastname":"Rose","privileges":""}
我现在很难访问每个值。它似乎并不是哈希格式,所以我无法这样做。
request.params["model"][:password]
它只返回nil。
我只需要知道如何访问这些变量,或者如何配置我的请求参数才能以良好的格式访问变量。
password="password"
。 - alf{"foo": "bar"}
和{"foo" => "bar"}
只是表示Hash
的两种不同方式。 - Charles Caldwell{"foo" : "bar"}
是有效的 JSON。但是,即使您的参数不是哈希(如 JSON),它仍会像哈希一样响应{"foo" => "bar"}.to_json["foo"] #=> "bar"
。 - Charles Caldwellrequest.params["model"]
可能会返回一个字符串而不是哈希。如果是这种情况,我已经编辑了我的答案并提供了可能的解决方案。 - Charles Caldwell