2011年9月15日木曜日

Rails3のNo route matchesエラー


rails3のNo route matchesエラー

フォーム作って、ボタンを押したら、遷移されるはずの所に遷移せず
No route matches [POST] /issue/show
といったエラーが出ました。

はて…(・・?

$ rake routes
issue_show GET /issue/show(.:format) {:controller=>"issue", :action=>"show"}


解決策としては、config/routes.rbを見てみると、
すべてコメントアウトされてるではないですか!

ひとまず、最終行にある下記のコメントを外すして再起動することで動きました!
   match ':controller(/:action(/:id(.:format)))'

下記のルートにも追加されるようになりました。
$ rake routes
issue_show GET /issue/show(.:format)                  {:controller=>"issue", :action=>"show"}
               /:controller(/:action(/:id(.:format))) 



ちなみにrails2のほうを見てみると、下記2行がちゃんとコメントされずに存在してました。
  map.connect ':controller/:action/:id'
  map.connect ':controller/:action/:id.:format'

ここの表示もRails3になると変わったようですね。
$ rake routes
  /:controller/:action/:id          
  /:controller/:action/:id(.:format) 


なんでコメントアウトされてるんでしょうか?

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。