我刚刚设置了一个骨架Rails 4应用程序并添加了backbone-on-rails
gem和一些基本的脚手架。
在尝试设置所有内容的过程中,我一直遇到以下错误:
Uncaught ReferenceError: JST is not defined
(anonymous function)
尝试从骨干视图调用模板index.jst.jade时。
我添加了一条带警报的路线,以确保脚手架连接在一起,但我无法通过此错误来正确渲染视图。
我已经包含了jade gem,确保js视图中的模板路径正确,并相应地更新了清单文件。
我是否必须在某处定义JST?我在这里做错了什么?
由于
宝石版本:
路由器:
Task.Routers.Tasks = Backbone.Router.extend({
routes: {
'': 'index',
},
index: function() {
alert('index router hit');
},
});
查看:
Task.Views.TasksIndex = Backbone.View.extend({
template: JST['tasks/index']
});
的application.js:
//= require jquery
//= require lodash
//= require jquery_ujs
//= require backbone
//= require jade/runtime
//= require task
//= require_tree ../templates
//= require_tree ./models
//= require_tree ./collections
//= require_tree ./views
//= require_tree ./routers
//= require_tree .
App结构树:
|____javascripts
| |____application.js
| |____collections
| | |____tasks.js
| |____models
| | |____task.js
| |____routers
| | |____tasks_router.js
| |____task.js
| |____views
| | |____tasks
| | | |____tasks_index.js
|____templates
| |____tasks
| | |____index.jst.jade
答案 0 :(得分:0)
嗯......您是否在模板之前需要runtime.js文件? http://www.rubydoc.info/gems/jade/0.1.1/frames
这是一个评论,但我没有足够的评论意见。哈哈。