rails:rails-on-rails gem-
尝试跟随Ryan Bates Backbone.js教程构建一个抽奖应用程序,但我已经遇到了第一段代码的问题。 在application.js的init函数中,他初始化了Raffler路由的新实例,它应该触发警报“主页”,但是我在Firebug中遇到以下错误,我不明白
entries.js:5Uncaught ReferenceError: Raffler is not defined entry.js:15Uncaught ReferenceError: Backbone is not defined entries.js:23Uncaught ReferenceError: Backbone is not defined index.js:17Uncaught ReferenceError: Backbone is not defined application.js:7Uncaught SyntaxError: Invalid regular expression: missing / raffler.js:9Uncaught TypeError: undefined is not a function
我有什么想法可以解决这个问题?
Java脚本/ raffler / application.js中
window.Raffler = Models: {} Collections: {} Views: {} Routers: {} init: -> new Raffler.Routers.Entries() Backbone.history.start() $(document).ready -> Raffler.init()
路由器/ entries.js
class Raffler.Routers.Entries extends Backbone.Router routes: '': 'index' index: -> alert "home page"
更新
我运行发生器后//= require_tree .
在需要jquery_ujs之后,我发现(我认为)是导致一些问题的原因。 但是,我现在把它移到了底部,我仍然得到这个错误
Raffler.Routers.Entries is not a constructor [Break On This Error] new Raffler.Routers.Entries();
的application.js
//= require jquery //= require jquery_ujs //= require underscore //= require backbone // //= require .//raffler // //= require_tree ../templates/ //= require_tree .//models //= require_tree .//collections //= require_tree .//views //= require_tree .//routers //= require_tree .
我遇到了同样的问题。 对我来说,解决方案是删除线
//= require_tree .
来自application.js
文件,因为这一行在下划线和backbonejs的行之前。
我找到了其他有同样问题然后让它上class的人。 我将他的代码(与我的代码完全相同)复制到我的文件中,现在我的工作了。 不知道为什么
window.Raffler = Models: {} Collections: {} Views: {} Routers: {} init: -> new Raffler.Routers.Entries() Backbone.history.start() $(document).ready -> Raffler.init()
- 使用rspec和capybara测试rails + backbone应用程序
- Backbone.js应用程序可以逐步增强,并可以被搜索引擎抓取吗?
- 带有backbone-rails的Rails:EJS文件中的资产助手(image_path)
- 带有远程Rails服务器的BackBone客户端
- Rails,Backbone,PhoneGap,CORS(Access-Control-Allow-Origin错误不允许)
- 在javascript中转义标记
- 如何使用Rails,Devise和Backbone.js进行令牌认证?
- Backbone和Rails关联:避免JSON HashWithIndifferentAccess错误
- 是否有框架允许我只定义一次模型?