       storeSync: true
       silent: true
       success: (model) =>
-        @_processServerModelsResponse(model)
-        @_processServerRelationsResponse(model)
-        @reportSyncChanges()
-        @trigger('service:done', @)
+        try
+          @_processServerModelsResponse(model)
+          @_processServerRelationsResponse(model)
+          @reportSyncChanges()
+          @trigger('service:done', @)
+        catch e
+          console.log(e)
+          @trigger('service:failed', resp)
       error: (resp) =>
         @trigger('service:failed', resp)
     @trigger('service:start', @)

          Role:
            [c1,3]
  ###
  reportManyToManyEvent: (options) ->
    if options.add
      _.each options.add, (sources, sourceType) =>
        _.each sources, (relations, sourceId) =>

  constructor: (options) ->
    @_store = Backbone.RailsStore.getInstance()
    @relatedModel = options.relatedModel
    @doRemoteRefresh = options.remoteRefresh
    @lazyLoad = options.lazyLoad
    @attribute = options.attribute

    returnVal = super

    if @doRemoteRefresh
      @remoteRefresh
        lazyLoad: @lazyLoad

    return returnVal

  remoteRefresh: (options) ->
    options = options || {}

    # Request relation refresh from server
    modelType = @_store.getModelType(@relatedModel)
    fetchOptions =
      relations: {}

    fetchOptions.relations[modelType] =
      railsClass: @relatedModel.railsClass
      railsRelationClass: @relationModelType.prototype.railsClass
      railsRelationAttribute: @attribute
      relationType: @_store.getModelType(@relationModelType)
      ids: [@relatedModel.id]

    fetchOptions.success = =>
      options.lazyLoad(@child) if _.isFunction(options.lazyLoad)

    @_store.refresh(fetchOptions)


###
