我似乎无法弄清楚 -
我想做类似的事情:
content = Restangular.one('contents', 2).get()
content.name = "Chunky Bacon"
content.put()
但这不起作用 -content
没有put
功能,有趣的是,它也没有name
, (是因为它是“承诺”吗?)
现在,Restangular 文档确实描述了更新对象,但是您将该对象作为集合的一部分:
content_id2 = Restangular.all("contents").getList()[2]
content_id2.name = "Chunky Bacon"
content_id2.put()
这有效。但!我不仅获取了整个列表,而且不知道如何通过它的 ID 轻松获取我的内容;就像是Restangular.all("contents").getList().find(2)
customPUT(..)
似乎是下一个最好的选择:
Restangular.one("contents", 2).customPUT("", {"content" : {"name" : "Chunky Bacon"} } )
只有当 Rails 服务器接收到它时,params["content"] == {id: 2}
- 似乎客户端的某些东西正在践踏该值。(再次注意,没有name
字段)。现在,我可以简单地通过执行以下操作来解决它:
Restangular.one("contents", 2).customPUT("", {"content_data" : {"name" : "Chunky Bacon"} )
但似乎我只是想念你应该如何做到这一点。