2014-12-03 80 views
0

当然,有更好的方式来访问Ember.js中的关联记录比这更好 - 这里我成功实现的唯一选择是加载记录,然后手动对我的Rails执行Ransack查询符合我发票编号的“条目”的API。Ember.js加载关联有很多记录

invoice.coffee:

`import Ember from "ember"` 

InvoicesInvoiceRoute = Ember.Route.extend 

    model: (invoice)-> 
     @store.find "invoice", invoice.invoice_id 

    setupController: (controller,model) -> 
     controller.set 'model', model 
     controller.set 'entries', @store.find 'time_entry', q: 
      invoice_id_eq: model.get 'id' 

`export default InvoicesInvoiceRoute` 

回答

1

如果您使用灰烬数据,你可以简单地sideload记录或进行关系async使灰烬接他们时,他们是所谓的,像这样:

// Invoice Model 
import DS from 'ember-data'; 

export default DS.Model.extend({ 
    name: DS.attr('string'), 
    entries: DS.hasMany('entry', { async: true }) 
}); 

对不起,不喝咖啡伴侣; )

+0

非常感谢Timo:好奇的是,我确实已经设置了async true。所以也许我只是试图以错误的方式访问他们 - model.get('time_entries')应该工作,是吗? – 2014-12-03 21:50:17

+0

这将是'model.get('entries')'。发票有效载荷是否拥有如下所示的条目:'“entries”:[1,2,3]'? XHR是否要求参赛作品? – Timo 2014-12-03 22:17:12

+0

'entries'是一个承诺,直到它解决,这篇文章解释:http://stackoverflow.com/a/20938578/1790950 – Timo 2014-12-03 22:32:07