4

私のサーバーは次のような JSON 応答を返します。

{
  artists: [{
    id: "1",
    first_name: "Foo",
    last_name: "Bar"
}],
  studios: [{
    id: 1,
    name: "Test",
    // ...
    artist_ids: ["1"]
  }]
}

「artist」は実際には User モデルですが、名前が異なります。アーティストをユーザー モデルにマップするにはどうすればよいですか? 説明が悪いかもしれませんが、JSON 応答サーバー側の名前を「アーティスト」ではなく「ユーザー」に変更し、以下のモデルを使用すると、すべてが思いどおりに機能します。サーバー側とクライアント側の両方で、「ユーザー」の代わりに「アーティスト」という名前を使用したいだけです。皆さんが私の言いたいことを理解してくれることを願っています。

App.Studio = DS.Model.extend
  name:  DS.attr 'string'
  // ..
  users: DS.hasMany 'App.User'

App.User = DS.Model.extend
  firstName:  DS.attr 'string'
  lastName:  DS.attr 'string'
  studio: DS.belongsTo 'App.Studio'

最も簡単なことは、 artists: DS.hasMany 'App.User' のようなものだと思いますが、明らかにこれは機能しません。

4

2 に答える 2

3

User から拡張された Artist モデルを作成しようとしましたか?

App.Artist = App.User.extend({})

試したことはありませんが、おそらくうまくいくと思います。

于 2013-09-29T19:37:09.023 に答える