私はGrails 2.1.1
と協力しており、コントローラアクションに対応するカスタマイズされたURLをいくつか追加したいと考えています。Grails UrlMapping DRYを維持するためのリダイレクト
私はそれを行うことができますが、元のマッピングはまだ機能しています。
例えば、私は次のように私のUrlMappings
にマッピングadd-property-to-directory
を作成:
class UrlMappings {
static mappings = {
"/add-property-to-directory"(controller: "property", action: "create")
"/$controller/$action?/$id?"{
constraints {
// apply constraints here
}
}
"/"(view:"/index")
"500"(view:'/error')
}
}
を、私は/mysite/add-property-to-directory
を打つことができると私が期待するとして、それは、PropertyController.create
を実行します。
しかし、私はまだ/mysite/property/create
を打つことができ、同じPropertyController.create
メソッドを実行します。
DRYの精神で、/mysite/property/create
から/mysite/add-property-to-directory
に301リダイレクトしたいと思います。
UrlMappings.groovy
でこれを行う方法が見つかりませんでした。誰でもGrailsでこれを達成できる方法を知っていますか?
ありがとうございました!
UrlMappings.groovy
class UrlMappings {
static mappings = {
"/add-property-to-directory"(controller: "property", action: "create")
"/property/create" {
controller = "redirect"
destination = "/add-property-to-directory"
}
"/$controller/$action?/$id?"{
constraints {
// apply constraints here
}
}
"/"(view:"/index")
"500"(view:'/error')
}
}
RedirectController.groovy
class RedirectController {
def index() {
redirect(url: params.destination, permanent: true)
}
}
01:ここでUPDATE
はトムの回答に基づいて、私は実装ソリューションです。
現在のところ不可能です。 URLマッピングでリダイレクトを指定できるようにするための機能要求があります。http://jira.grails.org/browse/GRAILS-5994を参照してください。 –
@sudhirありがとう、それは私の質問に答える。私はそれを受け入れることができるようにあなたのコメントを回答にコピーしてください。 –
@sudhir、あなたのコメントと役に立つリンクをありがとう...トムは彼の答えを編集し、私は彼の答えを受け入れたので、探していたことをするために正しい道を私を導いた。 –