2017-02-18 55 views
1

我的智慧類型結束於此,我知道我可能只是錯過了一些超級明顯的東西。試圖讓我的頭在與Ember和Lavarel一起工作。 Lavarel正在正確地發送數據,但是一旦它被存儲,我似乎就無法訪問它。我嘗試了很多不同的方式來實現這個功能,但它總是顯得空白,就好像model.car(或汽車或模型等)中沒有任何東西。如果有人能指出我的方向是正確的,那會很有幫助。我看到過幾個類似的問題,但似乎沒有一個能解決我的問題。無法訪問模板中的模型商店

Model Data

Data Sent from Lavarel

cars.js(路線)

import Ember from 'ember'; 

export default Ember.Route.extend({ 
    model: function() { 
     return this.store.findAll('car'); 
    } 
}); 

car.js(模型)

import DS from 'ember-data'; 

export default DS.Model.extend({ 
    make: DS.attr('string'), 
    model: DS.attr('string') 
}); 

cars.js(控制器)

import Ember from 'ember'; 

export default Ember.Controller.extend({ 
    session: Ember.inject.service() 

}); 

的application.js(串行)

import DS from 'ember-data'; 

export default DS.RESTSerializer.extend({ 
    normalizeSingleResponse(store, primaryModelClass, payload, id, requestType) { 
    let typeKey = primaryModelClass.modelName; 
    let ret = {}; 
    ret[typeKey] = payload; 
    return this._normalizeResponse(store, primaryModelClass, ret, id, requestType, true); 
}, 
normalizeArrayResponse(store, primaryModelClass, payload, id, requestType) { 
    let typeKey = primaryModelClass.modelName; 
    let ret = {}; 
    ret[typeKey] = payload; 
    console.log(ret); 
    return this._normalizeResponse(store, primaryModelClass, ret, id, requestType, false); 
} 
}); 

cars.hbs(模板)

{{outlet}} 
<ul id="todo-list"> 
     {{#each model.car}} 
     <li> 
      <input type="checkbox" class="toggle"> 
      <label>{{make}}</label><button class="destroy"> delete item</button> 
     </li> 
    {{/each}} 

</ul> 

回答

0

你是正確的事情了,如果你有汽車模型加載到內存。正如你所說你錯過了一些超級明顯的東西即,而不是model.car,你可以使用model訪問。 對於下一個調試,我會鼓勵你使用日誌助手,如{{log 'model' model}},這將在控制檯中打印模型對象。你可以通過ember template development helper灰燼指南

<ul id="todo-list"> 
     {{#each model as |car|}} 
     <li> 
      <input type="checkbox" class="toggle"> 
      <label>{{car.make}}</label><button class="destroy"> delete item</button> 
     </li> 
    {{/each}} 
</ul> 
{{outlet}} 
+1

非常感謝,這似乎確實是問題。發誓我曾嘗試過這一點,但顯然不是。我會看看日誌記錄,我猜console.log()讓我感到困惑。 –

相關問題