2013-02-04 1 views
5

EmberJSは以前のリビジョンでhasOneを削除しました。このようなネストされたオブジェクトリレーションを作成する方法はありますか?hasOne埋め込み常時関係とhasOne関係を持つ方法

hasOneの削除はbelongsToのために行われました。誰でもネストされたJSONの{embedded:always}リレーションを書く方法について考えを共有できます。

答えて

14

私はこの質問が古いであることを知っていると答えたが、それは「燃えさしのhasOne」のトップ 検索結果の一つであるので、私は、件名に私の調査結果を共有したいと思いました。 私は最初の答えのリンクを読んだが、例はちょっと古くなっている。

"埋め込み"フラグは廃止されました。 "DS.RESTAdapter.map"は関数ではなく、 "DS.hasOne"メソッドは非推奨です。

"hasOne関係"をエミュレートするための現在の1.0.0-beta.2ソリューションは単に "DS.belongsTo"を使用しています。それらはあまり変わらず、belongsToと同じように、結果セットにhasOne foreignKeysを追加するだけです。

出典:https://github.com/emberjs/data/commit/a466741a36731c5d382df33461268024627325ef

はここで複雑なモデルから、たとえばサーバの応答です。

{"users": [{ 
    "id": 1, 
    "name": "John Doe", 
    "profile": 27,  // merged hasone 
    "image": 3,   // merged hasone 
    "account_id": 64  // an actual belongsTo 
}]} 

そしてモデルとして

App.User = DS.Model.extend({ 
    name: DS.attr('string'), 
    profile: DS.belongsTo('profile'), 
    image: DS.belongsTo('image'), 
    account_id: DS.belongsTo('account') 
}); 

希望これはhasOneの

をモデル化する方法についての情報を探している人を支援
1

アダプタのマッピングを設定する必要があります。具体的な例はthis answerを参照してください。

関連する問題