2

createlink で奇妙な問題が発生しています。私は私のgspにこれを持っています

<g:createLink controller="uni" action="show" id="1" />

私はそれが次のようなものを生成することを期待しています

"/uni/show/1"

しかし、それは実際に私に与えます

"/uni/create?id=1"

インライン版も試してみましたが、

${createLink(controller:'uni', action:'show', id:1) }

これはまた与える

"/uni/create?id=1"

どんな助けでも大歓迎です!ありがとう!

アップデート

「表示」アクションのURLマッピングを追加することで、なんとか修正できました

この問題は、URL マッピングのバグが原因である可能性があります。これを urlmappings.groovy で定義しています

    "/uni/create"(controller:"uni"){
        action = [GET:"create", POST:"createDetail"]
    }

これにより、どういうわけか間違ったリンクが生成されます。理由が分からないので誰か教えていただけると助かります

「作成」の前にこの行を追加すると、問題はなくなりました。

    "/uni/show/$id"(controller:"uni",action:"show")
4

2 に答える 2

3

UrlMappings.groovy に問題がある可能性があります。

リバース URL マッピングには未解決のバグがいくつかあります。使用している Grails のバージョンは何ですか?

一部のバグを回避する最善の方法は、名前付き URL マッピングを使用することです。あなたの場合、それは必要ないはずです。

于 2012-04-16T19:13:18.433 に答える
0

アクションが定義されていない場合、デフォルトの動作が得られます

http://grails.org/doc/1.1/ref/Tags/createLink.html

action (オプション) - リンクで使用するアクションの名前。指定しない場合、デフォルトのアクションがリンクされます

于 2012-04-16T22:42:15.303 に答える