The following command sequence is replicable on Fedora 7/ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-linux]/Rails 2.0.2:
$ rails temp
<output snipped>
$ cd temp
$ ./script/generate controller a
<output snipped>
$ ./script/generate controller a/temp
<output snipped>
$ ./script/generate controller b
<output snipped>
$ ./script/generate controller b/temp
<output snipped>
$ ./script/console
Loading development environment (Rails 2.0.2)
>> rs = ActionController::Routing::Routes
<output snipped>
>> rs.recognize_path "/a/temp"
=> {:action=>"temp", :controller=>"a"}
>> rs.recognize_path "/b/temp"
=> {:action=>"index", :controller=>"b/temp"}
>> quit
I cannot see why Rails routes /a/temp and /b/temp differently. Rails 1.2.4 on another system correctly routes both of these to the */temp controller with :action=>index. In actual practice, I was using modules named "admin" and "welcome" - the "admin"-prefixed routes worked correctly, but the "welcome"-prefixed routes did not.