Ember.js - 错误 - “断言失败:您必须在传递给‘push’的哈希中包含‘id’”

2024-02-17

通过使用 Express 编写的 REST API 将帖子(标题、文本)保存到 mongodb 数据库并刷新浏览器后,我收到此错误。我已经将主键设置为“_id”,并且一直在阅读有关可能规范化数据的内容?

这是来自服务器的有效负载(数据库中只有 1 个帖子):

{
  "posts": [
  {
    "title": "The Title",
    "text": "Lorem ipsum",
    "_id": "52c22892381e452d1d000010",
    "__v": 0
   }
  ]
}

控制器:

App.PostsController = Ember.ArrayController.extend({
    actions: {
      createPost: function() {
        // Dummy content for now
        var to_post = this.store.createRecord('post', {
          title: 'The Title',
          text: 'Lorem ipsum'
        });
        to_post.save();
      }
    } 
 });

该模型:

App.Post = DS.Model.extend({
   title: DS.attr('string'),
   text: DS.attr('string')
});

序列化器:

App.MySerializer = DS.RESTSerializer.extend({
  primaryKey: function(type){
    return '_id';
  }
});

Adapter:

App.ApplicationAdapter = DS.RESTAdapter.extend({
  namespace: 'api'
});

任何帮助深表感谢!如果您需要任何其他信息,请告诉我。 谢谢


使用自定义适配器/序列化器时,命名很重要。如果您希望它适用于整个应用程序,则应该调用它ApplicationSerializer

App.ApplicationSerializer = DS.RESTSerializer.extend({
  primaryKey: '_id'
});

Adapter:

App.ApplicationAdapter = DS.RESTAdapter.extend({
  namespace: 'api'
});

如果您只想将其应用于单个模型(这也适用于适配器)

App.PostSerializer = DS.RESTSerializer.extend({
  primaryKey: '_id'
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ember.js - 错误 - “断言失败:您必须在传递给‘push’的哈希中包含‘id’” 的相关文章

  • ember-cli 在 --environment=product 上失败(未捕获错误:找不到模块)

    我正在使用 ember cli 并且在选择生产环境时遇到问题 具体来说 当我跑步时一切正常ember serve environment development当我运行时我得到一个空白页ember serve environment pro
  • Ember.js 输入字段

    是否可以在 Ember js 视图中使用标准 HTML5 输入字段 或者您是否被迫使用 Ember TextField Ember CheckBox Ember TextArea 和 Ember select 等内置字段的有限选择 我似乎无
  • 恢复对 ember 数据模型的更改

    有没有办法轻松恢复对 Ember 数据模型的更改 我有一个绑定到编辑视图的模型 此视图使用户能够取消编辑 此时我想恢复对模型的更改 有没有一种简单的方法可以做到这一点 而无需克隆所有值 从 Ember Data 版本 2 开始 不再有交易
  • Ember.js 动态子视图

    我无法让 ember 渲染动态子视图 似乎一旦渲染了子视图 绑定就会丢失 这是一个jsfiddle http jsfiddle net zaius XYzfa http jsfiddle net zaius XYzfa 当您在两个编辑器页面
  • Ember 未在生产环境中加载某些图像

    我有一个 Ember cli 1 13 应用程序 它在公共目录中存储了很多图像 现在 它将正确加载除特定组件中的图像之外的所有图像 该组件的调用方式如下 list item url list url name List Name price
  • 在 Codeigniter 中使用/嵌入 Ember js

    我即将开始开发一个 Web 应用程序 使用 Ember js 作为前端技术 使用 Codeigniter 作为后端 我遇到的问题是如何在 codeigniter 中嵌入或使用 ember js 可以通过 Web 服务从 codeignite
  • Ember.js 处理 View 事件后转换到路由

    Setup 我有一个 Ember 应用程序 支持使用 Imgur API 上传图像 我已经有一个工作路线和模板来处理任何 Imgur ID 但我想在上传新图像后转换到此路线 使用返回的 Imgur ID 这是该应用程序的相关部分 http
  • 同时使用 localStorage 和 REST 远程服务器的数据层架构

    任何人对于如何实现同时使用 localStorage 和 REST 远程存储的数据持久层都有任何想法或参考 某个客户端的数据存储在 localStorage 中 使用 ember data indexedDB 适配器 本地存储的数据与远程服
  • 绑定 Ember TextField 中的计算属性

    我正在尝试将我的数据模型绑定到 Ember js 中的文本字段 该模型有一个表示货币值的字段 例如 1 000 50 然后用户可以更改该值 Ember 接收数字 1000 50 形式的数据 非货币格式 我将视图绑定到具有良好格式的计算属性
  • 获取对给定模型对象创建的 EmberJS 视图的引用?

    假设我有一个清单DefinedWord对象 每个对象都渲染在 each 块作为列表DefinedWordViewdiv 位于页面底部 当用户单击一个单词时 我会查找关联的DefinedWord 现在我想要一个参考DefinedWordVie
  • 使用 qunit 测试 emberjs/rails/devise 应用程序时“无法验证 CSRF 令牌真实性”

    我有一个 emberjs rails 应用程序 使用设备进行用户身份验证 我正在使用 qunit 构建集成测试 我在运行测试之前手动登录应用程序 测试期间可以处理 GET 请求 但 POST 请求失败 特别是 在发出 POST 请求时 我收
  • Ember.js - 从计算属性返回 unicode 字符

    我试图从计算属性返回 unicode 字符 但是 不断逃脱 amp 我什至尝试过像这样返回 Handlebars SafeString return new Ember Handlebars SafeString 61573 产生相同的结果
  • Ember.js - 渲染到插座中的默认模板?

    所以我有一个如下所示的页面 Nav Bar Content 我希望导航栏在所有页面上保持不变 所以我使用的方法是将我的页面设置如下 Nav Bar outlet 这太棒了 我现在可以将不同的页面渲染到不同路线的出口中 但是 如果我希望将默认
  • 为车把/余烬定义模板内的数组?

    我在 ember 应用程序中有一个车把模板 它接受一个数组 我目前像这样声明数组 模板 Gd radio input content radioContent value blue JavaScript App IndexControlle
  • emberjs:在应用程序初始化()之后添加路由

    我在使用 emberjs 构建基于路由器的应用程序时遇到了以下问题 我的应用程序的结构简化如下 var App Em Application create App ApplicationController Em Controller ex
  • 如何使用 Ember CLI 在两个组件之间共享模板?

    我有两个组件 SpecialButtonComponent and SpecialButtonDerivativeComponent The SpecialButton组件自动使用位于以下位置的模板 app templates compon
  • 在路由之间传递参数

    Ember 中将参数从一个路由发送到另一个路由的 适当 方式是什么 例如 我有两条这样定义的路线 this resource activities path activities on date function this route ne
  • 如何在重新渲染 Ember 视图的一部分时随时运行代码?

    我的目标是拥有一个类似 Facebook 的按钮 可以有条件地出现在 Ember 视图中 我的模板是 if condition Click Like div class fb like fb edge widget with comment
  • Ember 模板中的访问常量

    不确定正确的 Ember Way 是什么来做到这一点 我有以下模板 我想要三个task item list组件实例 每个实例都有不同的taskState价值 显然 我想摆脱神奇的数字 h4 Tasks h4 div h5 Backlog h
  • 当加载详细条目和条目列表时,Ember 数据会删除列表响应中未设置的字段

    我有一个Book模型 具有多个属性 例如title author and prices prices是一个历史定价信息的大列表 当我从 API 请求图书列表时 我排除了prices场以保持响应较小 在书籍详细信息视图中 我请求完整的书籍信息

随机推荐