Rails 3路由寻找错误的控制器

时间:2011-05-15 15:02:43

标签: ruby-on-rails rails-routing

首先我在config / route.rb

中有这条路线
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 ...

为什么rails尝试拨打InboxesController

顺便说一句,我在同一个应用程序中有另一条路线可以完美运行:

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

我不知道如何解决这个问题,请给我一个提示。

1 个答案:

答案 0 :(得分:2)

最后我发现了发生了什么。

我定义了一个方法InboxController#send,并且Rails引入的元编程已被破坏。

错误信息与情况完全无关。