diff --git a/src/backbone.siren.action.js b/src/backbone.siren.action.js index 0688d68..6faa15e 100644 --- a/src/backbone.siren.action.js +++ b/src/backbone.siren.action.js @@ -161,7 +161,10 @@ Action.prototype = { , actionName: actionName , success: function (model, resp, options) { parent.trigger('sync:' + actionName, model, resp, options); - Backbone.Siren.parse(resp, {store: store}); + + // @todo - I think too much logic is going into this. Much of this stuff is probably already + // done in backbone. Eventually will need a refactor of .execute() and better integration with backbone. + Backbone.Siren.parse(resp, {store: store, silent: options.silent}); } , error: function (model, xhr, options) { parent.trigger('error:' + actionName, model, xhr, options); diff --git a/src/backbone.siren.js b/src/backbone.siren.js index bbcc87a..a2be0df 100644 --- a/src/backbone.siren.js +++ b/src/backbone.siren.js @@ -972,9 +972,16 @@ _.extend(BbSiren, { } - , update: function (rawModel) { + /** + * Updates the model with the properties from a "rawModel" + * + * @param {Object} rawModel + * @param {Object} [options] + * @returns {Backbone.Siren.Model} + */ + , update: function (rawModel, options) { if (BbSiren.isLoaded(rawModel)) { - this.set(this.parse(rawModel)); + this.set(this.parse(rawModel), options); this.parseActions(); }