Skip to content

Instantly share code, notes, and snippets.

@kevinansfield
Created October 2, 2014 21:25
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kevinansfield/006e403e9429cb04e608 to your computer and use it in GitHub Desktop.
Save kevinansfield/006e403e9429cb04e608 to your computer and use it in GitHub Desktop.
Example of manual relationship tracking with "virtual" vars to allow for rollback of relationships in ember data
PhotographerEditRoute = Ember.Route.extend
model: ->
@session.get('user').then (user) ->
user.get('photographer')
setupController: (controller, model) ->
@_super controller, model
controller.set 'availableCategories', @store.find('category')
@resetSelectedCategories()
actions:
save: ->
@setModelCategoriesToSelected()
@get('controller.model').save().then (photographer) =>
@resetSelectedCategories()
resetSelectedCategories: ->
@set 'controller.selectedCategories', Ember.A()
@get('controller.model.categories').forEach (category) =>
@get('controller.selectedCategories').pushObject category
setModelCategoriesToSelected: ->
categories = @get 'controller.model.categories'
selectedCategories = @get 'controller.selectedCategories'
list = categories.toArray()
list.forEach (category) ->
categories.removeObject category
categories.pushObjects selectedCategories
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment