2012-01-24 1 views
5

Backbone.js effettua una richiesta POST quando viene creato e salvato un nuovo modello, ma non considera il modello da salvare (ovvero, salva ulteriormente i risultati in PUT non POST) fino a quando il modello non ha un ID .. come dovrebbe il server restituire l'ID di un modello appena creato in modo che backbone.js possa impostarlo (cioè, come dovrebbe rispondere al POST iniziale)?per un modello backbone.js appena salvato

Se backbone.js non gestisce questo, presumo che il modo migliore per farlo sia utilizzare il gestore di successo per impostare l'ID?

risposta

9

Hai due opzioni. Il primo è quello di restituire la stessa struttura JSON per una richiesta POST come si farebbe con una richiesta GET per l'azione show (restituendo un singolo oggetto). Questo usa una singola richiesta.

Dal documentation:

impostare un hash di modello di attributi, e sincronizzare il modello al server. Se il server restituisce un hash di attributi diverso, lo stato del modello verrà nuovamente impostato.

L'altra opzione è di attivare un recupero sulla raccolta dopo il salvataggio. Questo richiederà più di una richiesta e sarà sempre meno efficiente.

+0

Giusto per essere sicuro, stai dicendo che se restituisco un modello completo con ID come risposta al POST iniziale, backbone.js cambierà gli attributi del modello salvato negli attributi restituiti? Sei sicuro? –

+0

@ KimSun-wu Vedere il collegamento nelle mie modifiche. – Gazler

+0

Questa risposta non ha senso grammaticale -1 – reach4thelasers