私は私のapp.context
特定の方法を設定したとき、私はredirect
でいくつかの奇妙な行動に気付いています。私は完全に私の問題を説明しGrailsのJIRAにバグを見つけたが、それはUTRとしてマークされていた:私は現在、Grailsの2.0M2を使用してい
:http://jira.grails.org/browse/GRAILS-7546app.contextを使用するとGrailsが間違ったアドレスにリダイレクトされますか?
はここに問題の私の説明です。私は、コントローラにredirect
を呼び出すとredirect
が、その後どのように私ここで404が原因と私が提供するURI、上にアプリ名を追加して、
app.context=/
app.name=foobar
:私は私のapplication.propertiesファイルで定義された以下の特性を持っています「これをやっメートル:
String partialUrl = createLink(mapping: 'helloworld') // returns `/hello/world`
redirect(uri: partialUrl) // INCORRECTLY redirects to
// `http://mysite.com/foobar/hello/world`
// instead of `http://mysite.com/hello/world`
私は/hello/world
のパスと私のUrlMappings.groovy
ファイルで定義されたhelloworld
という名前のURLマッピングを持っていると仮定します。
だから、長い話を短く、私は/
にapp.context
を設定している場合、私ははapp.name
が私の最後のリダイレクトURLに表示するために期待していません。これはバグか、期待される動作
ですか?最も簡単な方法については、あまりにも多くの手作業をせずにリダイレクトURLを構築できますか?
右... Tomcatは本番環境でapp.contextを上書きするかもしれませんが、app.contextを使用する代わりに、リダイレクトURLを構築する際にGrailsがapp.nameを使用している 'redirect'のままです。 – Polaris878