2012-04-12 11 views
0

我有這個奇怪的錯誤。一切工作正常,當我啓動服務器。改變任何控制器和路由錯誤發生,但可以在重新啓動服務器後恢復

我瀏覽http://lvh.me:3000/admin/topics,當我改變什麼任何控制器(甚至只是加空行),它會顯示正確

然後,軌道會說:

Routing Error 
uninitialized constant Admin::TopicsController::Topic 

,我刷新它會顯示:

NoMethodError in Admin/topics#index 
Showing /Users/john/Code/v2/app/views/admin/topics/index.html.erb where line #12 raised: 
undefined method `each' for nil:NilClass 

然後當我休息時藝術的服務器,一切都是正常的。如果我在控制器中改變任何東西,那麼它會再次發生。

它只發生在這個網址下。

我的路線是:

namespace :admin do 
    resources :topics do 
     resources :comments, :controller => "topic/comments" 
    end 
    resources :attachments 
    end 

相關的控制器:

app/controllers/admin/topics_controller.rb 
app/controllers/admin/topic/comments_controller.rb 

這真是奇怪的是,它正常工作在第一時間,但隨後如果控制器改變打破(甚至當添加空行)。這可能是評論控制器在主題文件夾下?

回答

0

我將文件夾名稱從topic更改爲topics,問題消失。不知道爲什麼,但它可能會被推到邊緣。

0

我認爲你遇到了Rails約定,應該在以x/y/z.rb結尾的路徑上找到非寶石類X::Y::Z,反之亦然。您應該只需將該控制器命名爲TopicCommentsController並將其放入app/controllers/admin/topic_comments_controller.rb即可。

相關問題