Skip to content

Instantly share code, notes, and snippets.

@mehulkar
Last active December 10, 2015 00:39
Show Gist options
  • Save mehulkar/4352867 to your computer and use it in GitHub Desktop.
Save mehulkar/4352867 to your computer and use it in GitHub Desktop.
# don't serialize comment and category records because we'll embed them into the post.
App.Adapter = DS.RESTAdapter.extend
  dirtyRecordsForBelongsToChange: (dirtySet, child, relationship) ->
    return undefined if [App.Comment, App.Category].contains child.constructor
    dirtySet.add(child)

  dirtyRecordsForHasManyChange: (dirtySet, parent, relationship) ->
    if parent.constructor == App.Post
      return undefined if ["categories", "comments"].comtains relationships.hasManyName
    dirtySet.add(parent)

App.Serializer = DS.RESTSerialize.extend
  addHasMany: (data, record, key, relationship) ->
    switch record.constructor
      when App.Post
        @_embedRecords(data, record, key) if ["comments", "categories"].contains key 
      # when ...
        # ...
      else
        Ember.K
  _embedRecords: (data, record, key)->
    store = App.router.store
    data[key] = []
    record.get(key).forEach (item) =>
      data[key].pushObject item.serialize()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment