2014-12-11 65 views
0

我剛剛設置了一個骨架Rails 4應用程序,並已添加了一些基本腳手架的backbone-on-rails gem。未捕獲的ReferenceError:JST未在骨架中使用Jade模板定義

在試圖讓一切成立的過程中,我一直運行到以下錯誤:

Uncaught ReferenceError: JST is not defined 
(anonymous function) 

試圖調用從骨幹視圖模板index.jst.jade時。

爲了確保腳手架連接在一起,我添加了一條警報,但我無法通過此錯誤來正確呈現視圖。

我已經包含了玉石寶石,確保模板路徑在js視圖中是正確的,並相應地更新了清單文件。

我必須在某處定義JST嗎?我在這裏做錯了什麼?

感謝

Gem版本:

  • 玉(0.1.1)
  • 骨幹-上軌(1.1.1.0)
  • 下劃線導軌(1.7.0)
  • Rails 4.1.6 Ruby 2.1.0

Router:

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 . 

應用程序結構樹:

|____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

我也不會在使用.eco模板時出現此錯誤。是什麼讓玉在這裏獨一無二? – mrh 2014-12-11 04:16:27

+0

你見過這篇文章嗎? 重複:http://stackoverflow.com/questions/8396051/jst-undefined-for-rails-3-1-application – 2014-12-11 04:32:45

+0

我做過了,我的application.js文件包含'// = require_tree ../在所有其他骨幹目錄之前的模板「 – mrh 2014-12-11 04:40:41

回答

0

嗯...你所需要的runtime.js文件在模板之前? http://www.rubydoc.info/gems/jade/0.1.1/frames

這是爲了評論,但我沒有足夠的評論意見。哈哈。

+0

Sam,感謝您的支持,但仍然沒有運氣!我已經修改我的問題,包括我的'application.js'文件 – mrh 2014-12-12 01:19:17

+0

另外,我的web服務器yeilds會出現以下錯誤:'ActionController :: RoutingError(沒有路由匹配[GET]「/javascripts/tasks/index.jade.js」) ',這很奇怪,因爲它將文件解釋爲jade.js – mrh 2014-12-12 01:38:44

相關問題