jruby on railsでwarblerを使ってJava EE Serverにデプロイするときcreateだけができなくなる現象について

14 07 2011

jruby on railsでwarblerを使ってJava EE Serverにデプロイするときcreateだけができなくなる現象について

何が起こったか

WEBrickサーバーでは正常にcreateできるが、jruby on railsをwarblerを使ってJava EEサーバー(自分の場合はglassfish)にデプロイしたときに、突然createだけができなくなってしまった。(正確にはcontroller/にリダイレクトされてしまい、それ以外のupdate等は正常動作する)。

原因

publicにコントローラーと同名フォルダがあった場合に発生する。glassfishの場合postするとコントローラーではなくpublicの同名フォルダに優先的に誘導してしまうためである。(WEBrickではコントローラー優先)。

解決法

createだけを別名にするか、publicの同名フォルダを別名に変えると言った方法が有効である。(ひょっとするとglassfish等の設定であったりする気もしないわけでもないがこれは、自分は調べてはいない。これは読者に任せる)