8

このエラーが数回発生していることは知っていますが、これを適切に機能させる方法がまだわかりません。

私の魔法はここから始まります:

    var list_edit_member_view = new app.views.ListMemberEdit({
      el: $("#enterprise_member_list_edit_container"),
      list_ids: list_ids
    });
    list_edit_member_view.render();

そして、これは、render()にこれを持っているこのビュー( ListMemberEdit.js )をロードします:

this.list_edit_member_view = new app.views.CollectionView({
  el: $("#enterprise_member_list_edit_container"),
  collection: app.peers,
  list_item: app.views.ListMemberEditSelection, 
  list_item_options: {list_ids: this.options.list_ids} 
});

list_item_optionsこれは、モデルビューとしてレンダリングするCollectionViewビューをロードします。これはこのファイル( ListMemberEditSelection.js)内にあり、実行するthis.destroyと次のように返されます。

Uncaught Error: A "url" property or function must be specified

したがって、これにより、モデルまたはモデルURLが定義されていないように思われます。これは、ほぼ同じことを行う他のパーシャルと非常によく似ているため、どこに配置するかがわかりません。

何かご意見は?あいまいさについてお詫び申し上げます。他に見たいことがあれば教えてください!

このURL属性がオブジェクトモデルまたはコレクション自体のどこに書き込まれるかを確認できるかどうか知りたいです。

4

3 に答える 3

16

これは、フロントエンドのモデルだけでなく、destroy()関数がサーバーを更新するためにも呼び出すためです。http://backbonejs.org/#Model-destroyBackbone.sync

したがって、RESTを使用してデータを同期している場合は、モデルにurlプロパティを設定して、Backboneがリクエストの送信先を認識できるようにする必要があります。

Backbone.Model.extend({
    url: "http://myapi.com/"
})

柔軟性を高めるために、urlRootを設定することもできます:http://backbonejs.org/#Model-urlRoot

于 2012-10-16T15:32:45.180 に答える
9

同様の問題が発生しました"id":""。モデルのデフォルト値からを削除すると、問題は解決しました。

于 2013-11-11T11:04:54.197 に答える
2

私は同様のエラーを受け取りましたこれを試してください:私はあなたのモデルがどのように見えるかを仮定しているだけです

window.MyModel = Backbone.Model.extend({
  url: function(){
    return this.instanceUrl;
  },
  initialize: function(props){
    this.instanceUrl = props.url;
  } 
}

詳細については、私が自分で投稿したこの質問をご覧ください:https ://stackoverflow.com/a/11700275/405117

ここでの回答が私をよりよく理解するのに役立ったので、私はこのリファレンスを提供しています

お役に立てれば!

于 2012-10-16T15:31:14.383 に答える