2014-03-31 61 views
16

我有一個Customer_ratings模型,允許用戶彼此留下反饋。網絡應用程序運行正常,收集,存儲和顯示反饋。Rails控制檯:無法自動加載常量

我想進去和刪除通過Rails控制檯的一些反饋,但是當我進入Customer_rating.all,我得到以下錯誤:

同樣,如果我進入Customer_rating [0],我得到:

RuntimeError: Circular dependency detected while autoloading constant Customer_rating 

我通過控制檯訪問其他表時沒有此問題。

什麼可能導致問題,爲什麼這個錯誤不會阻止Customer_ratings通過Web應用程序正常工作?

+0

我看到兩個問題在這裏。讓我們在聊天討論這個http://chat.stackoverflow.com/rooms/48530/ror –

+0

僅供參考所有常量需要[CamelCase](http://en.wikipedia.org/wiki/CamelCase) - 你應該是叫'CustomerRating' –

回答

35

這似乎是一個混亂的命名約定的情況。

Rails命名約定,文件名應在snake_case類名CamelCase。在你的場景中,文件名應該是customer_rating.rb,類名應該是CustomerRating

做出這些更改後,使用CustomerRating.all(因爲更新的類名是CustomerRating)可以獲取所有客戶評級。 請勿使用Customer_rating.all

+1

CustomerRating.all vs Cutomer_rating.all是問題。謝謝! – dmt2989

+0

很高興幫助:) –

+0

「活得長久,繁榮」 –

6

我還想添加一個我發現的問題的場景供將來參考。

我正在運行Rails 4.0,但我遇到了同樣的問題,但是發生了什麼事情,我在Student.rb中有一個名爲Student的模型,它包含在名爲Student的文件夾中。起初我沒有意識到,但文件夾名稱是問題所在。將文件夾名稱更改爲除模型名稱以外的其他名稱解決了問題。

+0

謝謝你,親切的先生! – doug

-1

你只需要修改模塊

例如名稱,如果該鏈接是http://sairam.esy.es/users/customer_rating然後 你控制器應等

Module Users 
Class RatingController 
... 
.. 
def customer_rating 
.. 
.. 
end 
end 

+0

這不是Ruby語法 – Houen

相關問題