2011-05-15 62 views
2

首先,我在配置/ route.rb的Rails 3路由尋找錯誤的控制器

get 'inbox/index' => 'inbox#index' 

然後我跑了rake routes這條路線,是正確生成路線:

inbox_index GET /inbox/index(.:format) {:action=>"index", :controller=>"inbox"} 

問題是,當我試圖從瀏覽器中獲取頁面(http:// localhost:3000/inbox/index),出現錯誤消息:

ArgumentError in InboxesController#index 
wrong number of arguments (2 for 0) 

沒有什麼應用程序跟蹤,並在ENV轉儲生成正確的控制器:

action_controller.instance: #<InboxController:0x7fbde79fb5a8 ... 

爲什麼軌試圖呼叫InboxesController

順便說一句,我在同一個應用程序另一條路線,其完美的作品:

match "search" => 'search#search', :as => 'search', :via => [:get, :post] 

我不知道如何分離這個問題,請給我一個提示。

+0

InboxesController#index確實是該路線試圖去的地方。 =>'inbox#index'表示收件箱資源的控制器,所以它應該複數並添加控制器,因此InboxesController。 – DGM 2011-05-15 15:14:57

回答

2

最後我找出發生了什麼事。

我定義了一個方法InboxController#send,Rails引入的元編程被打破了。

錯誤信息與情況完全無關。