2

最初に、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 ...

レールが呼び出そうとしたのはなぜInboxesControllerですか?

ところで、同じアプリケーションに完全に機能する別のルートがあります。

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

この問題を切り分ける方法がわかりません。ヒントを教えてください。

4

1 に答える 1

2

最後に、私は何が起こったのかを知りました。

method を定義したところInboxController#send、Rails によって導入されたメタプログラミングが壊れていました。

エラーメッセージは状況とはまったく関係ありません。

于 2011-05-18T16:57:51.290 に答える