0

假设我有一个这样的模型:

App.User = DS.Model.extend({
      attributes    : DS.attr('string'),
      countries     : DS.hasMany('country', { async: true }),
)};

服务器返回 JSON,其中包含一个country_ids一切正常的数组,但我不想实际加载与这些 ID 对应的国家模型,而 ember-data 正在自动执行该操作。有没有办法停止/抑制这种自动功能?

4

1 回答 1

0

仅当您寻址到国家字段时,Ember Data 才应加载模型。如果您只需要 id 尝试在模型中定义 country_ids 字段。

升级版:

似乎*_ids是由框架保留的。因此,您可以要求您的服务器使用另一个名称发送此数组,并在模型中为此定义简单的 attr。如果你使用 rails 和 ActiveModel::Serializer 它可以这样做:

class UserSerializer < ActiveModel::Serializer
  embed :ids

  attributes :id, :attributes
  has_many :countries, key: :countries
end

和型号:

App.User = DS.Model.extend({
      attributes    : DS.attr('string'),
      countries     : DS.attr()
)};
于 2013-09-25T10:06:34.387 回答