【发布时间】:2012-11-10 06:19:06
【问题描述】:
我正在使用主干设置一个非常简单的应用程序,但出现错误。
Uncaught TypeError: undefined is not a function example_app.js:7
ExampleApp.initialize example_app.js:7
(anonymous function)
这是 Chrome Inspector 中出现错误的地方(初始化文件 - example_app.js):
var ExampleApp = {
Models: {},
Collections: {},
Views: {},
Routers: {},
initialize: function() {
var tasks = new ExampleApp.Collections.Tasks(data.tasks);
new ExampleApp.Routers.Tasks({ tasks: tasks });
Backbone.history.start();
}
};
这是我的任务 index.haml 文件
- content_for :javascript do
- javascript_tag do
ExampleApp.initialize({ tasks: #{raw @tasks.to_json} });
= yield :javascript
模型/task.js
var Task = Backbone.Model.extend({});
集合/tasks.js
var Tasks = Backbone.Collection.extend({
model: Task,
url: '/tasks'
});
路由器/tasks.js
ExampleApp.Routers.Tasks = Backbone.Router.extend({
routes: {
"": "index"
},
index: function() {
alert('test');
// var view = new ExampleApp.Views.TaskIndex({ collection: ExampleApp.tasks });
// $('body').html(view.render().$el);
}
});
这是我正在调用所有文件的证据(我认为):
<script src="/assets/jquery.js?body=1" type="text/javascript"></script>
<script src="/assets/jquery_ujs.js?body=1" type="text/javascript"></script>
<script src="/assets/jquery-ui.js?body=1" type="text/javascript"></script>
<script src="/assets/underscore.js?body=1" type="text/javascript"></script>
<script src="/assets/backbone.js?body=1" type="text/javascript"></script>
<script src="/assets/backbone-support/support.js?body=1" type="text/javascript"></script>
<script src="/assets/backbone-support/composite_view.js?body=1" type="text/javascript"></script>
<script src="/assets/backbone-support/swapping_router.js?body=1" type="text/javascript"></script>
<script src="/assets/backbone-support.js?body=1" type="text/javascript"></script>
<script src="/assets/example_app.js?body=1" type="text/javascript"></script>
<script src="/assets/easing.js?body=1" type="text/javascript"></script>
<script src="/assets/modernizr.js?body=1" type="text/javascript"></script>
<script src="/assets/models/task.js?body=1" type="text/javascript"></script>
<script src="/assets/collections/tasks.js?body=1" type="text/javascript"></script>
<script src="/assets/views/task_view.js?body=1" type="text/javascript"></script>
<script src="/assets/views/tasks.js?body=1" type="text/javascript"></script>
<script src="/assets/views/tasks_index.js?body=1" type="text/javascript"></script>
<script src="/assets/routers/tasks.js?body=1" type="text/javascript"></script>
<script src="/assets/tasks/index.js?body=1" type="text/javascript"></script>
<script src="/assets/tasks/task.js?body=1" type="text/javascript"></script>
<script src="/assets/application.js?body=1" type="text/javascript"></script>
任何想法都会很棒。谢谢!
【问题讨论】:
-
pears_planner.js第 12 行有什么内容?您没有包含该代码,但错误消息说这就是您的问题所在。事实上,我什至可以说这可能是这个问题的唯一相关代码。 -
抱歉,应该是第 7 行(我在一个版本中有一些 cmets)。这就是初始化文件:
var tasks = new ExampleApp.Collections.Tasks(data.tasks); -
等等,那个错误是错的?因为您刚刚在该评论中添加的代码没有提及
PearsPlanner.initialize,这是您的错误似乎来自的地方...帮助我们帮助您,伙计...发布错误消息和错误消息引用的代码. -
很抱歉——是的,错误是错误的。我不想在很多地方公开我的应用程序的名称,但我错过了那个。查看我的编辑...
标签: javascript ruby-on-rails ruby-on-rails-3 backbone.js