0
-------------------------------
Ember      : 1.13.11
Ember Data : 1.13.15
Firebase   : 2.3.2
EmberFire  : 1.6.3
jQuery     : 1.11.3
-------------------------------

firebase アプリに 2 つのエンドポイントがあります。/employees/subjects。私の ember アプリで、件名を従業員 ( employees/$id/subjects) に追加したいと考えています。問題は、すべてのサブジェクトをロードする方法がわからない/subjectsため、それらを配列に追加できることです。

これは私のルートです:

Router.map(function() {
  this.route('dashboard');
  this.route('employees', function() {
    this.route('employee', { path: '/:id'});
  });
});

そして、これは私のモデルです

export default Ember.Route.extend({
  model(params) {
    return this.store.findRecord('employee', params.id);
    }
});

this.route(employee, function(){ this.route('subjects') }これを機能させるために、 subroute を作成し、従業員モデルに 2 番目のモデルをロードして、さまざまなことを試しましたが、どれも機能しませんでした。私はemberを初めて使用するので、いくつかのことが混同されている可能性があります。どんな助けでも大歓迎です。

編集

従業員モデル

export default DS.Model.extend({
  name: DS.attr('string'),
  position: DS.attr('string'),
  accessoryPosition: DS.attr('string'),
  education: DS.attr('string'),
  experience: DS.attr('string'),
  imgUrl: DS.attr('string'),
  subjects: DS.hasMany('subject', {async: true})
});

対象モデル

export default DS.Model.extend({
  name: DS.attr('string')
});

私の意図をもう少しよく説明するために、私が望むフローは次のとおりです。

ユーザーが従業員を選択すると、その従業員に割り当てられたサブジェクトのリストとともに従業員情報が表示されます。しかし、従業員に新しい科目を割り当てたい場合は、利用可能な科目の完全なリストも必要です。したがって、私の質問です。これが理にかなっていることを願っています

4

1 に答える 1

1

さて、あなたはあなたのルートでこれを行うことができます:

export default Ember.Route.extend({
   model(params) {
     return Ember.RSVP.hash({
            employee: this.store.findRecord('employee', params.id), 
            subjects: this.store.findAll('subject')        
     });
  }
});

次に、テンプレートで:

{{#each employee.subjects as |subject|}}
   {{!these are your employee subjects}}
   {{subject.name}}
{{/each}}



{{#each subjects as |subject|}}
   {{!these are all your subjects}}
   {{subject.name}}
{{/each}}
于 2016-01-11T12:17:49.783 に答える