2

キャメルケースのプロパティに最近問題があるかどうかは誰にもわかりません。

私はこのようなモデルを持っています:

var attr = DS.attr;

App.Users = DS.Model.extend({
    firstName: attr('string'),
    phone: attr('string'),
    email: attr('string')
});

テンプレートでは、電子メールと電話は正しく表示されますが、firstNameが表示されません。jsonファイルを確認しましたが、すべて問題ないようです。私の他のすべてのモデルでも同じ問題が発生するので、キャメルケースで何かをしなければならないと思います。

4

1 に答える 1

8

非推奨の通知:この回答は2013年のものであり、現在まで修正されていません。これは、JSON APIアダプターではなく、Ember-DataのRESTAdapterを反映しています。

Ember.jsは命名規則に依存しており、複数単語のキャメルケース(例)のモデルプロパティがJSON応答のfirstName複数単語のアンダースコアで区切られた小文字の属性(例)にマッピングされることを想定しています。first_nameJSONが提供する場合、またはバックエンドAPIを制御しないfirstNameシナリオでこの規則に含まれないものがある場合は、JSON応答とマップで特定のキーを探すようにアダプターに指示するを定義するオプションがあります。特定のモデルのプロパティにそれを追加します。map

あなたはこのようなことをすることができます:

DS.RESTAdapter.map('App.User', { 
    firstName: { key: 'firstName' },
    lastName: { key: 'familyName' }
});

上記のサンプルでlastNameは、​​独自のモデルの一部ではないプロパティを追加したことに注意してください。同時に複数のプロパティをマップできることを明確にするためにこれを行いました。JSON応答でのその名前は何でもかまいませんが、必ずしも別の大文字と小文字で同じ名前である必要はありません。

于 2013-03-21T16:32:17.887 に答える