2012-07-01 3 views
3

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

taskModel.creator_id = userModel.id 

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

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


(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?

ответ

0

Ваше отношение на задачи должно быть что-то вроде:

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

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

Смежные вопросы