Я использую в своем приложении потрясающее трио: Backbone + Backbone Relational + Marionette.
В настоящее время у меня есть некоторые проблемы с созданием полиморфного отношения.
Вот упрощенная версия кода, который я сейчас использую.
class MyApp.Conversation extends Backbone.RelationalModel
urlRoot: "/api/v0/conversations"
relations: [
{
type: Backbone.HasMany
key: "members"
relatedModel: MyApp.User
}
]
class MyApp.User extends Backbone.RelationalModel
urlRoot: "/api/v0/users"
# subModelTypes: {
# "Teacher": MyApp.Teacher
# "Student": MyApp.Student
# }
class MyApp.Teacher extends MyApp.User
class MyApp.Student extends MyApp.User
Когда я закомментировал раздел subModelTypes
(как я вставил здесь), все работает нормально (за исключением того, что все участники беседы являются пользователями, а не учителями/учениками). Когда я добавляю этот subModelTypes
в свою модель, я получаю следующую ошибку: Uncaught TypeError: Object.keys called on non-object
в Строка 1638
Я просмотрел пример кода для подмоделей с базовой реляционной домашней страницы и не нашел здесь ничего, что я делал неправильно.
Я был бы очень признателен, если бы кто-то мог помочь мне с этим.