2014-01-15 38 views
1

一對夫婦試圖瞭解小時後,爲什麼當它裏面的軌道,工程單機相同的代碼不工作,我意識到,導軌包括模型文件之前收集文件,它會產生以下例外:骨幹和Rails - 包括訂單

Uncaught TypeError: undefined is not a function 

我挖掘並發現了使用控制檯,模型未定義。

臨時解決方案,我發現是包含文件一個接一個在我application.js,但我不能相信這是唯一的解決方案。這是迄今爲止被優雅,當代碼變得越來越大就不可能對其進行跟蹤。

有人對這個問題的解決方案?

回答

0

通常的做法是先將模型和集合放入與模型相同的文件中。

+0

它使代碼真的凌亂.... – guyaloni

+0

這是Javascript,而不是Ruby。 Rails中的相同模式不能在任何地方應用。雜亂無章取決於開發者。 –

1

的我第二@BillyChan建議。我一直在使用它。

不,它不會使代碼混亂。但是如果你的模型文件變得非常大。你可能想再次重新訪問你的代碼,看看是否有東西可以提取給幫手,甚至是新的模型。

那麼,如果你真的不想這樣做...我假設你把集合和模型放在不同的文件夾中(如果不是這樣,比將模型/集合放在一個文件,IMO中更加混亂),你總是可以要求模型文件夾第一次在你的application.js

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