【问题标题】:Ember Data (RESTAdapter) & JSONEmber 数据 (RESTAdapter) 和 JSON
【发布时间】:2014-12-02 22:47:49
【问题描述】:

我设置了一个 Ember 应用程序,但无法显示 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()
});

这似乎是根据 Ember 站点上的 RESTAdapter 文档所要求的,但我仍然无法避免此错误。

我可以控制从 JSON 输出的有用的内容。谁能看到我哪里出错了?

【问题讨论】:

    标签: json ember.js ember-data


    【解决方案1】:

    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 模型时,您会注意到错误消息指出了这一点。

    【讨论】:

    • 我已经更改了模型,现在显示 - 找不到“广告系列”的模型。
    【解决方案2】:

    所以我在使用“campaigns”这个词的地方把复数改为单数,发现我也必须改变我的路线

    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 根中使用了复数。

    感谢您的帮助,保罗

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多