Магистральный реляционный ключ: ключ ассоциации не будет работать, если он не совпадает с внешним ключом.

Я пытаюсь заставить плагин backbone-relational работать с ассоциацией между задачами и сообщениями. (В задаче много сообщений).

Информация берется со стандартного сайта rails / activerecord, у которого есть поле task_id в качестве внешнего ключа.

Проблема в том, что backbone-relational не будет заполнять поле «messages» какими-либо сообщениями в модели Задачи, если я не установлю ключ как «task_id» в обратном отношении ... но это означает, что при доступе к task из модели сообщения, поле task_id заполняется фактическим объектом задачи, а не целым числом task_id, которое перезаписывается.

Я предполагаю, что есть простой способ указать task_id в качестве внешнего ключа, с помощью которого можно определить родительскую задачу, но при этом поместить объект, который представляет ключ, в другое поле (например, «задача» в объекте сообщений). .но я не могу понять как. Любые идеи приветствуются. Код ниже

class Backbonescaffolddemo.Models.Task extends Backbone.RelationalModel
  paramRoot: 'task'

  relations: [{
    type: Backbone.HasMany,
    key: "messages",
    relatedModel: "Backbonescaffolddemo.Models.Message",
    collectionType: "Backbonescaffolddemo.Collections.MessagesCollection",
    includeInJSON: true
    reverseRelation: {
      key: "task_id"
      includeInJSON: true
    }
  }]

6
задан PlankTon 2 January 2012 в 18:27
поделиться