首先我在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]
我不知道如何解决这个问题,请给我一个提示。
答案 0 :(得分:2)
最后我发现了发生了什么。
我定义了一个方法InboxController#send
,并且Rails引入的元编程已被破坏。
错误信息与情况完全无关。