ruby1.8.6と1.8.5で微妙に違うのでハマった。
app/controllers/demo_controller.rb
app/controllers/demo/test_controller.rb
app/controllers/demo/hoge_controller.rb
で、クラスが、
class DemoController < …
class Demo::TestController <…
class Demo::HogeController <…
この場合、期待されるのが、
http://localhost/demo/show/1
http://localhost/demo/test/new
http://localhost/demo/test/list
http://localhost/demo/hoge/edit/20
こんな感じなんだけど、1.8.5の場合これがうまくいかない。
demoコントローラーのtestアクションでnewってidが入ってしまうのです。
demo/testコントローラーのnewアクションを期待してたのに。。。
1.8.6だと期待通り。
とりあえずdemo_controller.rbの名前をdemos_controller.rbとかにかえるかdemoディレクトリをdmとか変えれば大丈夫。
class DemosController < …..
class Dm::TestController < …
いいのかな?