2014-12-02 62 views
0

我有一個安裝Ember應用程序,我無法顯示來自JSON文件的數據。我不斷收到以下錯誤:Ember Data(RESTAdapter)&JSON

Error while processing route: campaigns.index 
["No model was found for 'campaign'"] 

我的JSON是設置爲

{ "campaigns": 
    [ 
     {"id":"1","campaign_name":"Necessitatibus et.","campaign_code":"YQADM","description":"1","effective_from":"2014-11-24 14:33:07","products":"Loans","type":"Gold"}, 
     {"id":"2","campaign_name":"Voluptatem sequi adipisci necessitatibus.","campaign_code":"VFYGTO","description":"1","effective_from":"2014-11-24 14:33:07","products":"Loans","type":"Gold"} 
    ] 
} 

我的路線是

TM.CampaignsIndexRoute = Ember.Route.extend({ 
    model: function(){  
     return this.store.find("campaigns") 
    } 
}); 

我已經爲

TM.Campaigns = DS.Model.extend({ 
    campaign_name: DS.attr() 
    campaign_code: DS.attr(), 
    description: DS.attr(), 
    effective_from: DS.attr(), 
    products: DS.attr(), 
    type: DS.attr() 
}); 

定義的屬性這似乎是所需的手風琴ng到Ember站點上的RESTAdapter文檔,但我仍然無法避免此錯誤。

我可以控制從JSON輸出的內容,這很有用。任何人都可以看到我出錯的地方嗎?

回答

0

Ember數據預計模型名稱是單數,而不是複數。所以,只需從s關閉你的型號名稱,你應該很好去。

TM.Campaign = DS.Model.extend({ 
    campaign_name: DS.attr() 
    campaign_code: DS.attr(), 
    description: DS.attr(), 
    effective_from: DS.attr(), 
    products: DS.attr(), 
    type: DS.attr() 
}); 

你會發現錯誤信息點這一點時,它說,它無法找到campaign模型。

+0

我改變了模型,現在它說 - 找不到'廣告系列'模型。 – Jetchy 2014-12-02 23:19:09

0

所以我進行改變複數奇異所使用的詞「活動」被何地發現,我也有我的路線更改爲

TM.CampaignsIndexRoute = Ember.Route.extend({ 
    model: function(){  
     return this.store.find("campaign") 
    } 
}); 

以及模型

TM.Campaign = DS.Model.extend({ 
    campaign_name: DS.attr() 
    campaign_code: DS.attr(), 
    description: DS.attr(), 
    effective_from: DS.attr(), 
    products: DS.attr(), 
    type: DS.attr() 
}); 

我的困惑是由於在JSON根中使用了複數形式。

感謝您的幫助保羅