0

我有一个模型 App.Leg 有很多 App.LegPlayers:

App.Leg = DS.Model.extend({
  match: DS.belongsTo('App.Match'),
  legPlayers: DS.hasMany('App.LegPlayer'),
  winner: DS.belongsTo('App.Player')
});

App.LegPlayer = DS.Model.extend({
  leg: DS.belongsTo('App.Leg'),
  player: DS.belongsTo('App.Player'),
  turns: DS.hasMany('App.Turn')
});

我可以使用以下映射以嵌入式方式(仅使用 1 个 POST 请求)持久化它们:

App.Adapter.map('App.Leg', {
  legPlayers: {embedded: 'always'}
});

但是从 Rails (active_models_serializers) 加载记录只能使用以下映射(或根本不使用映射):

App.Adapter.map('App.Leg', {
  leg_players: {embedded: 'always'}
});

但不是当我使用下划线版本或没有映射时,Ember 想要将 legPlayers 保留在单独的 POST 请求中。

所以我的问题是:我怎样才能让 ember 既加载腿玩家作为腿的一部分,又让腿玩家作为腿的一部分发布到服务器。因此,无需使用单独的请求。现在看来,我一次只能让一个场景工作:发布只能使用“legPlayers”,加载只能使用“leg_players”。

4

0 回答 0