I'm trying to access metadata using Ember Data, using ActiveModelAdapter. If the controller is set up in the router with model:
App.ClaimsIndexRoute = Ember.Route.extend
authRedirectable: true
model: ->
@store.findAll 'claim'
And the controller as a meta method as follows:
App.ClaimsIndexController = Ember.ArrayController.extend
meta: (->
@store.metadataFor('claim')
).property()
Then I can access the metadata in the index template:
{{meta.page}} {{meta.per_page}} {{meta.total_pages}}
But I needed to add filtering. So I changed the router to use setupController:
App.ClaimsIndexRoute = Ember.Route.extend
setupController: (controller, model) ->
controller.loadClaims()
And in the controller added the loadClaim function:
App.ClaimsIndexController = Ember.ArrayController.extend
loadClaims: ->
_filter = @get 'filter'
_result = @store.find 'claim', {filter: _filter}
@set 'model', _result
filter: ''
meta: (->
@store.metadataFor('claim')
).property()
actions:
filterClaims: ->
@loadClaims()
Now the metadata is no longer available. I've entered the context using a debugger and can't seem to get anything.
Is there a problem with sending a query to Ember Data? Is there a better way to do this?
Incidentally, the metadata is sent by the server as suggested in the docs.
I'm using Ember 1.6.1 and Ember data 1.0.0-beta.8.2a68c63a
controller.loadClaims()instead ofcontroller.send('loadClaims')? - Josh Padnick