Backone реляционные subModelTypes

Я использую в своем приложении потрясающее трио: 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

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

Я был бы очень признателен, если бы кто-то мог помочь мне с этим.


person user1105595    schedule 20.09.2013    source источник


Ответы (1)


Просто столкнулся с этим сам. Это связано с CoffeeScript, как подробно описано здесь. Вам нужно вызвать MyApp.User.setup() после определения класса.

person Tarek    schedule 15.11.2013