io non riesco a capire questo -Restangular - Get oggetto w/id, modificare oggetto, oggetto di aggiornamento
voglio fare qualcosa di simile:
content = Restangular.one('contents', 2).get()
content.name = "Chunky Bacon"
content.put()
Ma questo non funziona - content
non hanno una funzione put
, ed è interessante notare, non ha un name
, sia (è che perché è una "promessa"?)
Ora, la documentazione Restangular non descrivono l'aggiornamento di un oggetto, ma si ottenere quell'oggetto come parte di una collezione:
content_id2 = Restangular.all("contents").getList()[2]
content_id2.name = "Chunky Bacon"
content_id2.put()
E questo funziona. Ma! Non solo ho recuperato l'intera lista, non riesco a capire come ottenere facilmente i miei contenuti dal suo ID; qualcosa come Restangular.all("contents").getList().find(2)
customPUT(..)
sembra che la prossima scommessa migliore:
Restangular.one("contents", 2).customPUT("", {"content" : {"name" : "Chunky Bacon"} })
Solo quando il server riceve Rails, params["content"] == {id: 2}
- sembra che qualcosa sul lato client è stomping tale valore. (Ancora, nota, nessun campo name
). Ora, posso lavorare intorno ad esso semplicemente facendo qualcosa di simile:
Restangular.one("contents", 2).customPUT("", {"content_data" : {"name" : "Chunky Bacon"})
ma sembra davvero come mi manca solo come si suppone di fare questo.
che ho fatto lo stesso ed ottengo ancora l'errore "oggetto non trovato" quando chiamo la funzione di 'mettere'. – Asqan
Ciò è dovuto al fatto che Restangular promises e il modo in cui i valori vengono utilizzati direttamente nei modelli modificati: https://github.com/mgonto/restangular#element-methods –