2008-11-07
map.resourcesではまる
Rails2.1.1でroutes.rbの記載がうまくいかない、、
map.resources :garapon, :collection => {:rss => :get}
のような感じで書いてRESTフル+「/garapon/rss」とかいうURLを作りたいんだけど
ActiveRecord::RecordNotFound in GaraponController#show Couldn't find Garapon with ID=rss
となってしまいrssメソッドにアクセスするんじゃなくてshowメソッドにアクセスしてrssが:idとして扱われてしまう。
routesの書き方間違ってるんかなとrake routesで見てみても以下のようにちゃんと出来ている。
>rake routes (in c:\gara) rss_garapon GET /garapon/rss {:controller=>"garapon", :action=>"rss"} formatted_rss_garapon GET /garapon/rss.:format {:controller=>"garapon", :action=>"rss"} garapon_index GET /garapon {:controller=>"garapon", :action=>"index"} formatted_garapon_index GET /garapon.:format {:controller=>"garapon", :action=>"index"} POST /garapon {:controller=>"garapon", :action=>"create"} POST /garapon.:format {:controller=>"garapon", :action=>"create"} new_garapon GET /garapon/new {:controller=>"garapon", :action=>"new"} formatted_new_garapon GET /garapon/new.:format {:controller=>"garapon", :action=>"new"} edit_garapon GET /garapon/:id/edit {:controller=>"garapon", :action=>"edit"} formatted_edit_garapon GET /garapon/:id/edit.:format {:controller=>"garapon", :action=>"edit"} garapon GET /garapon/:id {:controller=>"garapon", :action=>"show"} formatted_garapon GET /garapon/:id.:format {:controller=>"garapon", :action=>"show"} PUT /garapon/:id {:controller=>"garapon", :action=>"update"} PUT /garapon/:id.:format {:controller=>"garapon", :action=>"update"} DELETE /garapon/:id {:controller=>"garapon", :action=>"destroy"} DELETE /garapon/:id.:format {:controller=>"garapon", :action=>"destroy"}
ちなみに/garapon/new はちゃんとアクセスできる。
routesは以下の3行しか書いてないのに><たった3行ではまるとは><
ActionController::Routing::Routes.draw do |map|
map.resources :garapon, :collection => {:rss => :get}
map.connect ':controller/:action/:id'
map.connect ':controller/:action/:id.:format'
end
ぼすけて><
Railsのログ出力とログ監視
今日はログ出力周りとそのログ監視辺りを調べていました。
分かった事
- ログローテーションの仕方
- タイムスタンプの付与の仕方
ログの切れ目で空行が入るのもなんとかしたいな、、
あともう少しエラーログを分かりやすく(監視しやすく)したいのでfatalメソッドを改修せねば
