【发布时间】:2013-08-09 21:38:00
【问题描述】:
将 Backbone 添加到 Rails 应用程序,我在这样的应用程序命名空间内创建了一个 post 模型
var app = {
this.models.post = new app.Models.Post();
在路由器中,我创建了以下路由
"posts/:id": "postDetails"
当我导航到 /posts/4 时,当我尝试像这样在模型上调用 fetch 时收到 Uncaught TypeError: object is not a function 错误
postDetails: function (id) {
console.log(id);
var post = new app.models.post({id: id});
this.post.fetch({
success: function (data) {
$('#content').html(new PostView({model: data}).render().el);
}
});
}
根据 Backbone 文档 http://backbonejs.org/#Model-fetch,我应该能够在模型上调用 fetch 以从服务器检索数据。为什么 Backbone 认为我将对象视为函数?
【问题讨论】:
-
究竟是哪一行导致了错误?
-
其实就是
var post = new app.models.post({id: id});这一行。我把它改成了var post = new app.Models.Post,它告诉我Uncaught TypeError: Object [object Object] has no method 'fetch'
标签: backbone.js