Skip to content

Instantly share code, notes, and snippets.

@Chandler
Last active December 20, 2015 21:39
Show Gist options
  • Save Chandler/6199423 to your computer and use it in GitHub Desktop.
Save Chandler/6199423 to your computer and use it in GitHub Desktop.
#scenario 1 /orgs/17/settings
OrganizationRoute = Em.Route.extend
model: (params) ->
model = Organization.find(params.organization_id)
@controllerFor('organizations').set 'selectedModel', model
OrganizationSettingsController = Em.Controller.extend
needs: 'organization'
organization: null
organizationBinding: 'controllers.organization'
editOrg: ->
console.log @get('model') #=> undefined
console.log @organization.get('model') #=> undefined
#scenario 2 /orgs/17/settings
OrganizationRoute = Em.Route.extend
model: (params) ->
model = Organization.find(params.organization_id)
#@controllerFor('organizations').set 'selectedModel', model
OrganizationSettingsController = Em.Controller.extend
needs: 'organization'
organization: null
organizationBinding: 'controllers.organization'
editOrg: ->
console.log @get('model') #=> undefined
console.log @organization.get('id') #=> 17
console.log @organization.get('model') #=> {id: "17", store: Class, _reference: Object, _changesToSync: Object, transaction: Class…}
@huafu
Copy link

huafu commented Aug 10, 2013

Here you go fo the first example:

#scenario 1 /orgs/17/settings
App.OrganizationRoute = Em.Route.extend
  model: (params) ->
    (require 'organization').find params.organization_id

  setupController: (controller, model) ->
    @_super arguments...
    @controllerFor('organizations').set 'selectedModel', model

App.OrganizationSettingsController = Em.Controller.extend
  needs: 'organization'
  organization: null 
  organizationBinding: 'controllers.organization'
  editOrg: ->
    console.log @get('organization.id')

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment