2014-12-02 50 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根中使用了复数形式。

感谢您的帮助保罗