Ember.js 使用ID为“”的this.store.filter作为模型

Ember.js 使用ID为“”的this.store.filter作为模型,ember.js,filter,belongs-to,Ember.js,Filter,Belongs To,我正在尝试检索给定帐户的所有布局 /app/models/account.js import DS from 'ember-data'; export default DS.Model.extend({ companyName: DS.attr('string'), layouts: DS.hasMany('layout') }); import DS from 'ember-data'; export default DS.Model.extend({ name: DS.at

我正在尝试检索给定帐户的所有布局

/app/models/account.js

import DS from 'ember-data';

export default DS.Model.extend({
  companyName: DS.attr('string'),
  layouts: DS.hasMany('layout')
});
import DS from 'ember-data';

export default DS.Model.extend({
  name: DS.attr('string'),
  account: DS.belongsTo('account', { async: true })
});
import Ember from 'ember';

export default Ember.Route.extend({
  model: function() {
    return Ember.RSVP.hash({
      layouts: this.store.filter('layout', { account_id: 1 }, function(layout) {
        console.log(layout.get('account').content.id);
        return layout.get('account').content.id === 1;
      })
    });
  }
});
/app/models/layout.js

import DS from 'ember-data';

export default DS.Model.extend({
  companyName: DS.attr('string'),
  layouts: DS.hasMany('layout')
});
import DS from 'ember-data';

export default DS.Model.extend({
  name: DS.attr('string'),
  account: DS.belongsTo('account', { async: true })
});
import Ember from 'ember';

export default Ember.Route.extend({
  model: function() {
    return Ember.RSVP.hash({
      layouts: this.store.filter('layout', { account_id: 1 }, function(layout) {
        console.log(layout.get('account').content.id);
        return layout.get('account').content.id === 1;
      })
    });
  }
});
/app/routes/layouts.js

import DS from 'ember-data';

export default DS.Model.extend({
  companyName: DS.attr('string'),
  layouts: DS.hasMany('layout')
});
import DS from 'ember-data';

export default DS.Model.extend({
  name: DS.attr('string'),
  account: DS.belongsTo('account', { async: true })
});
import Ember from 'ember';

export default Ember.Route.extend({
  model: function() {
    return Ember.RSVP.hash({
      layouts: this.store.filter('layout', { account_id: 1 }, function(layout) {
        console.log(layout.get('account').content.id);
        return layout.get('account').content.id === 1;
      })
    });
  }
});
console.log行正在输出我期望的ID(1)。在Ember inspector中,我可以看到5个布局模型,在“属于”下,我可以看到:
帐户:
。单击会显示
内容:
,单击会显示属性,包括正确的ID

但是在我的模板中,
layouts
是空的。。。我不知道为什么


顺便说一句,
layouts:this.store.find('layout',{account\u id:1})
可以工作,但我需要它使用过滤器,以便它是一个活动数组。

余烬数据使用它的所有id作为字符串工作

将支票更改为
==“1”
应该可以让您顺利完成

import Ember from 'ember';

export default Ember.Route.extend({
  model: function() {
    return Ember.RSVP.hash({
      layouts: this.store.filter('layout', { account_id: 1 }, function(layout) {
        console.log(layout.get('account').content.id);
        return layout.get('account').content.id === '1';
      })
    });
  }
});

什么不起作用?不清楚您的问题是什么..抱歉,我已经澄清了问题我想知道您的问题是否是因为
帐户
关系是
异步的
,可能在函数运行时没有加载。。但这与控制台记录正确信息的事实不符。。如果将过滤器更改为仅返回
true
,删除检查您的操作,是否会更改结果?你有完整的布局列表吗?我确实有完整的布局列表。。我想我知道那是什么。。我会发布一个答案