不要加载关系

时间:2013-09-25 05:58:39

标签: ember.js ember-data

假设我有这样的模型:

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

服务器返回JSON,其中country_ids数组一切正常,但我不想实际加载与这些ID相对应的国家/地区模型,而这些ID是自动执行的。有没有办法停止/禁止这种自动功能?

1 个答案:

答案 0 :(得分:0)

Ember Data只有在您到国家/地区字段时才会加载模型。 如果只需要ID,请尝试在模型中定义country_ids字段。

UPD:

似乎*_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()
)};