MController#c と、M::CController#index があって、"/m/c" にアクセスすると M::CController#index が優先されると思ってたんだけど、そんな挙動をするのはなんか自分のマシンだけのような気がしてきた。
こんなのを作って、
$ rails _1.2.6_ m-c $ cd m-c $ ruby script/generate controller M c $ ruby script/generate controller M::C index
こうなるのと、
$ ruby script/console Loading development environment. >> app.get "/m/c" => 200 >> app.controller.controller_path => "m/c" >> app.controller.action_name => "index"
こうなるのがある。
$ ruby script/console Loading development environment. >> app.get "/m/c" => 200 >> app.controller.controller_path => "m" >> app.controller.action_name => "c"
1.2.6 でも 2.1.0 でも一緒。
後者は、app/controllers/m_controller.rb の c メソッドと app/views/m/c.rhtml を消しても、
>> app.get "/m/c" => 404
になるだけで、M::C#index にはアクセスできない。
何が違うのかなぁ。