我为我的网站编写了一个 Rest api。目前我拥有它,以便用户拥有许多他们可以拥有的计算机。我正在尝试发送一个 json 有效负载,以使用计算机更新用户帐户。为了测试这是我发送的:
{"auth_token"=>"AiprpscAqN6hnvNDHSwh",
"user"=>"{"id":1,
"username":"Rizowski",
"email":"test@gmail.com",
"computer":[{"id":0,
"user_id":1,
"name":"Desktop",
"enviroment":"Windows 8",
"ip_address":"192.168.1.10",
"account":[]}]}",
"format"=>"json",
"id"=>"1"}
一旦我发送它,Rails 控制器就会接收它并使用 JSON.parse 方法将请求解析为哈希。一旦我尝试保存用户对象,它会说:
ActiveRecord::AssociationTypeMismatch in Api::V1::UsersController#update
Computer(#51701664) expected, got Hash(#17322756)
附带问题:我仍在尝试完全理解 rails 和 rest,但是像我一样发送计算机对象是一个好习惯吗?或者我应该通过我的计算机 api 控制器发送计算机数据吗?