Estoy intentando que el complemento backbone-relational trabaje con una asociación entre tareas y mensajes. (Una tarea tiene muchos mensajes).Backbone-relational: la clave de asociación no funcionará a menos que sea la misma que la clave externa
La información se extrae de un sitio estándar carriles/activerecord, que tiene un campo task_id como la clave externa.
El problema es que backbone-relational no rellenará el campo 'mensajes' con ningún mensaje en el modelo de tarea a menos que establezca la clave como "task_id" en la relación inversa ... pero eso significa que, al acceder la tarea del modelo de Mensaje, el campo task_id se rellena con el objeto de tarea real, no el entero 'task_id', que se sobrescribe.
Supongo que hay una manera simple de especificar task_id como la clave externa con la cual determinar la tarea primaria, pero tener el objeto que esa tecla representa colocado en un campo diferente (por ejemplo, 'tarea' en el objeto de mensajes). ..pero no puedo entender cómo. Cualquier idea apreciada. Código de abajo
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
}
}]
Por favor, ¿cómo resolvió su problema? Abrí el siguiente problema en github por la misma razón. Gracias. [Clave externa poblada con un objeto] (https://github.com/PaulUithol/Backbone-relational/issues/158) – antonjs