リスタンギュラー モデルで関連付けを定義する必要があります。のように使用するように定義したいのuser.post.title
ですが、それでいくつかの問題が発生しています。
独自のサービス層を持つモデルの場合、次のようになります。
app.factory('models.user', function(Restangular) {
var users;
users = {};
return {get: function(user_id) {
return users[user_id] || (users[user_id] = Restangular.one('users', user_id).get());
}};
});
app.factory('models.post', ['Restangular', 'models.user', function(Restangular, User) {
Restangular.extendModel('posts', function(post) {
post.user || (post.user = User.get(post.user_id));
return post;
});
return {get: function(post_id) {
return Restangular.one('posts', post_id).get();
}};
}]);
これによりpost.user().first_name
、投稿からそのユーザーにナビゲートすることができますが、コードは非常に醜く、モデルを更新するなど、投稿オブジェクトを複製しようとする無限ループに陥るなど、状況によってはうまく機能しません。
リスタンギュラーモデルで関連付けを定義する方法はありますか?