tôi dường như không thể con số này ra -Restangular - Nhận đối tượng w/id, chỉnh sửa đối tượng, cập nhật đối tượng
tôi muốn làm một cái gì đó như:
content = Restangular.one('contents', 2).get()
content.name = "Chunky Bacon"
content.put()
Nhưng điều này không làm việc - content
không có chức năng put
, và thú vị là nó không có name
, hoặc (có phải vì đó là "lời hứa" không?)
Hiện tại, tài liệu Restangular mô tả việc cập nhật một đối tượng, nhưng bạn lấy đối tượng đó như một phần của bộ sưu tập:
content_id2 = Restangular.all("contents").getList()[2]
content_id2.name = "Chunky Bacon"
content_id2.put()
Và tính năng này hoạt động. Nhưng! Không chỉ tôi lấy toàn bộ danh sách, tôi không thể tìm ra cách dễ dàng lấy nội dung của mình bằng ID của nó; cái gì đó như Restangular.all("contents").getList().find(2)
customPUT(..)
có vẻ như đặt cược tốt nhất tiếp theo:
Restangular.one("contents", 2).customPUT("", {"content" : {"name" : "Chunky Bacon"} })
Chỉ khi máy chủ Rails nhận nó, params["content"] == {id: 2}
- nó có vẻ như một cái gì đó trên các mặt hàng được dậm giá trị đó. (Xin lưu ý, không có trường name
). Bây giờ, tôi có thể làm việc xung quanh nó chỉ đơn giản bằng cách làm một cái gì đó như:
Restangular.one("contents", 2).customPUT("", {"content_data" : {"name" : "Chunky Bacon"})
nhưng thực sự có vẻ như tôi chỉ thiếu cách bạn phải làm điều này.
tôi đã làm điều tương tự và tôi nhận được vẫn còn lỗi "đối tượng không tìm thấy" khi tôi gọi hàm 'đặt'. – Asqan
Đó là vì lời hứa về Restangular và cách thức các giá trị được sử dụng trực tiếp trong các mẫu đã thay đổi: https://github.com/mgonto/restangular#element-methods –