модель отношения между двумя моделями: нулевое значение

Я хочу установить связь между двумя моделями User и Task, используя backbone-relational.
Я хотел бы, чтобы каждый Task получил модель User.
Связь между этими двумя моделями следующая:

taskModel.creator_id = userModel.id   

Вот мой код (1) (2)

Проблема заключается в следующем (3):
Когда я пытаюсь получить модели задачи, я получаю для attributes.user нулевое значение.


(1)

// TaskModel
var Task = Backbone.RelationalModel.extend({

    relations: [
        {
            type: 'HasOne',
            key: 'user',
            relatedModel: User
        }
    ],

    urlRoot: 'url_get_tasks'
});

(2)

// UserModel
var User = Backbone.RelationalModel.extend({

    urlRoot: "url_get_users"

});

(3)

user = new User();
user.fetch();
console.log(user.attributes); // {id: 1, .....}

task = new Task();
task.fetch();
console.log(task.attributes); // {id: 12, creator_id: 1, user: null} ???

Почему task.attributes.user имеет значение null?


person Lorraine Bernard    schedule 01.07.2012    source источник


Ответы (1)


Ваше отношение к Task должно быть примерно таким:

   {
       type: 'HasOne',
       key: 'user',
       keySource: 'creator_id',
       relatedModel: User
   }

(Вы ожидаете, что он будет использовать creator_id для ассоциации, но никогда не говорили ему об этом.)

person philfreo    schedule 04.02.2013