【问题标题】:Tell ember.js to use different key for its model's "id"告诉 ember.js 为其模型的“id”使用不同的键
【发布时间】:2013-08-04 13:37:47
【问题描述】:

我陷入了不应该在 API 端点中返回 id 字段的情况。我需要告诉 ember 使用 slug 字段作为 / 而不是 id

我试过DS.RESTAdapter.map('App.Post', id: {key: 'slug'})。虽然这对于App.Post.find("a-slug-name") 来说非常有效,但对于App.Post.find() 来说却是一团糟,导致每次调用时都会添加一个新模型。并且还将id 分配给null。

那我该怎么做呢。

【问题讨论】:

    标签: javascript ember.js javascript-framework


    【解决方案1】:

    您需要在适配器中指定应用作primaryKey 的属性。如果您希望slug 属性用作您的Post 模型id,请在您的适配器上定义primaryKey,如下所示:

    DS.RESTAdapter.map('App.Post', {
      primaryKey: 'slug'
    });
    

    更新

    从 Ember-data 版本 1.0.0-beta.7 canary 开始,您需要这样做而不是上面的 sn-p:

    App.PostSerializer = DS.JSONSerializer.extend({
      primaryKey: 'slug'
    });
    

    【讨论】:

      【解决方案2】:

      我不是 ember 专业人士,但我最近想使用 slug 而不是 ID 并且这样做了,想知道这是否是您所追求的? https://stackoverflow.com/a/14967337/472852

      【讨论】:

        猜你喜欢
        • 2023-03-07
        • 2016-12-26
        • 1970-01-01
        • 2012-04-17
        • 1970-01-01
        • 1970-01-01
        • 2017-03-18
        • 2015-12-21
        • 1970-01-01
        相关资源
        最近更新 更多