【发布时间】:2014-11-07 04:08:31
【问题描述】:
我正在尝试使用 Ember Data 访问元数据,使用 ActiveModelAdapter。如果控制器在路由器中设置了型号:
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.
我正在使用 Ember 1.6.1 和 Ember 数据 1.0.0-beta.8.2a68c63a
【问题讨论】:
-
您说的问题是
controller.loadClaims()而不是controller.send('loadClaims')? -
感谢您的建议。没有改变行为。
标签: ruby-on-rails ember.js ember-data active-model-serializers