1

私は自分のアプリで素晴らしいトリオを使用しています: バックボーン + バックボーン リレーショナル + マリオネット。

現在、ポリモーフィック リレーションの作成に問題があります。

これは、私が現在使用しているコードの簡略化されたバージョンです。

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 行目

バックボーン・リレーショナル・ホームページからサブモデルのサンプル・コードを見ましたが、ここで間違っていることは何も見つかりません。

誰かがこれで私を助けることができれば、私はとてもうれしいです.

4

1 に答える 1

3

自分でこれに遭遇しました。これは、CoffeeScript に関連しています。詳しくは、こちら をご覧くださいMyApp.User.setup()クラス定義の後に呼び出す必要があります。

于 2013-11-15T19:45:01.803 に答える