Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 没有使用Ember.js和WebApiAdapter序列化模型_Javascript_Asp.net Mvc 4_Ember.js_Asp.net Web Api - Fatal编程技术网

Javascript 没有使用Ember.js和WebApiAdapter序列化模型

Javascript 没有使用Ember.js和WebApiAdapter序列化模型,javascript,asp.net-mvc-4,ember.js,asp.net-web-api,Javascript,Asp.net Mvc 4,Ember.js,Asp.net Web Api,我正试图用我自己的模型,但我不能让它工作 目前,服务器端代码正在运行。向浏览器发送的结果是正确的。但是Ember数据或自定义WebApi序列化程序无法准备数据 我有两种型号: 病人: Aufenthalt: App.Aufenthalt = DS.Model.extend({ aufenthaltId: DS.attr('number'), name: DS.attr('string'), patientId: DS.attr('number'), patient

我正试图用我自己的模型,但我不能让它工作

目前,服务器端代码正在运行。向浏览器发送的结果是正确的。但是Ember数据或自定义WebApi序列化程序无法准备数据

我有两种型号: 病人:

Aufenthalt:

App.Aufenthalt = DS.Model.extend({
    aufenthaltId: DS.attr('number'),
    name: DS.attr('string'),
    patientId: DS.attr('number'),
    patient: DS.belongsTo('patient'),
});

App.AufenthaltSerializer = DS.WebAPISerializer.extend({
    primaryKey: 'aufenthaltId',
    normalizeHash: {
        aufenthalte: function (hash) {
            hash.aufenthaltId = hash.id;
            return hash;
        },
    }
});
当我从控制器获得“患者”列表时,数据模型已正确填充(我可以在Chrome Ember插件中进行检查)。当我使用患者Id点击一个操作时,我得到错误:“加载路径时出错:TypeError:无法设置未定义的属性‘store’”


谢谢大家!

您是否在app/routes文件夹中添加了正确的路由器,在app/controllers文件夹中添加了控制器,以及相应的视图和模板?请随意点击一个链接到您的示例解决方案,以便我可以下载并查看

==更新日期2014年2月22日===
我修正了密码。您应该能够从下载修改后的解决方案。您应该对这两个目录执行windiff以查看更改。我需要更改一些位置,使其适合您的场景,包括:

  • js,使其直接从RESTSerializer扩展,并添加extractSingle实现
  • 更改patsucheautocomplete.hbs的模板
  • 添加了patient\index.hbs。您应该能够删除patient.hbs文件
  • paitentview.js(可能不需要,因为它都是默认值)
  • 修改了controllers\htmlhelperextensions.cs,使其在调试模式下对子文件夹模板正常工作

  • 您是否在app/routes文件夹中添加了正确的路由器,在app/controllers文件夹中添加了控制器,以及相应的视图和模板?请随意点击一个链接到您的示例解决方案,以便我可以下载并查看

    ==更新日期2014年2月22日===
    我修正了密码。您应该能够从下载修改后的解决方案。您应该对这两个目录执行windiff以查看更改。我需要更改一些位置,使其适合您的场景,包括:

  • js,使其直接从RESTSerializer扩展,并添加extractSingle实现
  • 更改patsucheautocomplete.hbs的模板
  • 添加了patient\index.hbs。您应该能够删除patient.hbs文件
  • paitentview.js(可能不需要,因为它都是默认值)
  • 修改了controllers\htmlhelperextensions.cs,使其在调试模式下对子文件夹模板正常工作

  • 我应该补充一些信息。我试图定义一条路线,在它被评论的那一刻。控制器和模板也存在。是否需要一个视图?这是我的项目:非常感谢!!我修正了密码。您应该能够从下载修改后的解决方案。您应该对这两个目录执行windiff以查看更改。我需要改变一些地方,使其适合您的场景,包括:我应该添加额外的信息。我试图定义一条路线,在它被评论的那一刻。控制器和模板也存在。是否需要一个视图?这是我的项目:非常感谢!!我修正了密码。您应该能够从下载修改后的解决方案。您应该对这两个目录执行windiff以查看更改。我需要更改一些位置,使其适合您的场景,包括:
    App.Aufenthalt = DS.Model.extend({
        aufenthaltId: DS.attr('number'),
        name: DS.attr('string'),
        patientId: DS.attr('number'),
        patient: DS.belongsTo('patient'),
    });
    
    App.AufenthaltSerializer = DS.WebAPISerializer.extend({
        primaryKey: 'aufenthaltId',
        normalizeHash: {
            aufenthalte: function (hash) {
                hash.aufenthaltId = hash.id;
                return hash;
            },
        }
    });