我試圖使用Ember數據,使用ActiveModelAdapter訪問元數據。如果控制器設置在路由器型號:Ember數據和元數據 - 從控制器訪問
App.ClaimsIndexRoute = Ember.Route.extend
authRedirectable: true
model: ->
@store.findAll 'claim'
而控制器作爲元方法如下:
App.ClaimsIndexController = Ember.ArrayController.extend
meta: (->
@store.metadataFor('claim')
).property()
然後我就可以在索引模板訪問元數據:
{{meta.page}} {{meta.per_page}} {{meta.total_pages}}
但我需要添加過濾。所以我換了路由器使用setupController
:
App.ClaimsIndexRoute = Ember.Route.extend
setupController: (controller, model) ->
controller.loadClaims()
並在控制器添加loadClaim功能:
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()
現在的元數據不再可用。我使用調試器進入了上下文,似乎無法獲取任何內容。
將查詢發送到Ember Data有問題嗎?有一個更好的方法嗎?
順便提一句,元數據服務器發送的suggested in the docs.
我使用灰燼1.6.1和灰燼數據1.0.0-beta.8.2a68c63a
是您的問題,你說'controller.loadClaims()的''而不是controller.send( 'loadClaims')'? – 2014-09-13 00:47:00
感謝您的建議。沒有改變行爲。 – noel 2014-09-15 03:54:07