1

質問 1 : なぜ ember-data リビジョン 11 に下線付きバージョンの属性名が必要なのですか?

質問 2 : 属性名が同じ (アンダースコアなし) の場合、問題はありますか?

Ember-Link : http://emberjs.com/guides/models/the-rest-adapter/

モデル

App.Person = DS.Model.extend({
    firstName: DS.attr('string'),
    lastName: DS.attr('string'),

    isPersonOfTheYear: DS.attr('boolean')
});

JSON

{
   "person": {
        "first_name": "Barack",
        "last_name": "Obama",
        "is_person_of_the_year": true
    }
}

マッピング

App.Person = DS.Model.extend({
    lastName: DS.attr('string')
});
DS.RESTAdapter.map('App.Person', {
    lastName: { key: 'lastNameOfPerson' }
});

すべてのレスポンダーに感謝します!:)

4

1 に答える 1

3

質問1 : 属性をキャメル ケースにするのは JS の規則です。JSON ペイロードについては、このJSON 命名規則を参照してください

2番目の質問を理解できません。

質問2:

JSON 形式を維持したい場合は、シリアライザーのコードで説明されている 2 つのオプションがありますhttps://github.com/emberjs/data/blob/master/packages/ember-data/lib/system/serializer.js# L58

  • mapアダプターのAPIを使用して、それらを 1 つずつ再マップします。
  • 実装することにより、シリアル化された形式で使用される属性名を決定できます。keyForAttributeName

あなたの場合、RESTSerializer. https://github.com/emberjs/data/blob/master/packages/ember-data/lib/serializers/rest_serializer.js#L4を参照してください

keyForAttributeName単純に文字列を返します。

于 2013-03-20T21:33:09.130 に答える