Backbone with Rails - 包含订单

时间:2014-01-15 10:25:07

标签: javascript ruby-on-rails backbone.js asset-pipeline

经过几个小时的尝试才能理解为什么相同的代码单独工作在rails内部时不起作用,我意识到rails包含模型文件之前的集合文件,并引发以下异常:

Uncaught TypeError: undefined is not a function

我挖掘并发现使用控制台模型未定义。

我发现的临时解决方案是在application.js中逐个包含文件,但我无法相信这是唯一的解决方案。它远非优雅,当代码变大时,将无法跟踪它。

有人有解决这个问题的方法吗?

2 个答案:

答案 0 :(得分:1)

我是@BillyChan的第二个建议。我一直在使用它。

不,它不会使代码混乱。但是如果您的模型文件变得非常大。您可能希望再次重新访问代码,以查看是否可以将任何内容提取到帮助程序,甚至是新模型。

好吧,如果你真的不想这样做...我假设你把收藏品和模型放在不同的文件夹中(如果没有,它比将模型/集合放在一个文件中更麻烦,IMO),你总是可以要求模型文件夹首先在你的application.js

//= require_tree './backbone/models'
//= require_tree './backbone/collections'
//= require_tree './backbone/views'

答案 1 :(得分:0)

常见的方法是首先将模型和集合放在同一个文件中。