Javascript 带导轨的主干-包括订单

Javascript 带导轨的主干-包括订单,javascript,ruby-on-rails,backbone.js,asset-pipeline,Javascript,Ruby On Rails,Backbone.js,Asset Pipeline,在花了几个小时试图理解为什么独立运行的代码在rails中不起作用后,我意识到rails在模型文件之前包含了集合文件,并引发了以下异常: Uncaught TypeError: undefined is not a function 我使用控制台挖掘并发现模型未定义 我找到的临时解决方案是在我的应用程序.js中逐个包含文件,但我不能相信这是唯一的解决方案。它远远不够优雅,当代码变得更大时,就不可能跟踪它 有人能解决这个问题吗?通常的方法是首先将模型和集合与模型放在同一个文件中。I second@

在花了几个小时试图理解为什么独立运行的代码在rails中不起作用后,我意识到rails在模型文件之前包含了集合文件,并引发了以下异常:

Uncaught TypeError: undefined is not a function
我使用控制台挖掘并发现模型未定义

我找到的临时解决方案是在我的
应用程序.js
中逐个包含文件,但我不能相信这是唯一的解决方案。它远远不够优雅,当代码变得更大时,就不可能跟踪它


有人能解决这个问题吗?

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

I second@BillyChan的建议。我一直在用它

不,这不会让代码变得混乱。但是如果模型文件变得非常大。您可能想再次访问代码,看看是否可以将任何内容提取到帮助器,甚至新模型

如果你真的不想这样做……我假设你把集合和模型放在不同的文件夹中(如果不是,这比把模型/集合放在一个文件中更麻烦,IMO),你总是可以在application.js中首先需要模型文件夹

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

这是Javascript,不是Ruby。Rails中的相同模式不能应用于任何地方。混乱与否取决于开发商。