Ruby on Rails: ルーティングがうまくいかない。
Railsでルーティングがうまくいかなくてひっかかった話。
環境: Ubuntu11.10, RVM1.13.4, Rails3.2.3
articlsコントローラ内のcategoryアクションを呼び出そうとしたが、うまくいかない。
取りあえず
% rake routes
で確認してみると、
article GET /articles/:id(.:format) articles#show PUT /articles/:id(.:format) articles#update DELETE /articles/:id(.:format) articles#destroy root / articles#index category GET /articles/category/:category(.:format) articles#category
エラーメッセージを読んでみると、どうやら show アクションが id = category で実行されているのが問題らしい。
調べてみると、ルーティング設定は上から行われるようなので、category のルーティング設定を config/routes.rb のもっと上に書いてあげればよかったようだ。