2012-04-16 14 views
1

createlinkで奇妙な問題が発生しました。私は私のGSPにGrails、createLinkが間違ったリンクを生成します

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

これを持って、私はそれが

"/uni/show/1" 

のようなものを生成することを期待しかし、それは実際に私に

"/uni/create?id=1" 

を与える私はまた、同様

をインラインバージョンを試してみました
${createLink(controller:'uni', action:'show', id:1) } 

this alそう与える

"/uni/create?id=1" 

何か助けていただきありがとうございます!ありがとう!

UPDATE

私はこの問題は、URLマッピングバグから来るかもしれない「ショー」アクション

ためのURLマッピングを追加することによって、それを修正するために管理。私はこれが私のurlmappings.groovyで定義されてい

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

これは何とかそれが間違ったリンクを生成する原因となります。なぜ誰かが説明できるのかどうか分かりません

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

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

答えて

3

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

open bugsが逆のURLマッピングにあります。 Grailsのバージョンは何ですか?

いくつかのバグを回避する最も良い方法は、named url mappingsを使用することです。あなたの場合、それは必要ではないはずです。アクションがデフォルト動作

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

アクション(オプション)を取得します定義されていない場合

+0

Grails 2.0を使用しています。私は名前のURLマッピングをチェックアウトします。感謝 –

0

- リンクに使用するアクションの名前を指定しない場合、デフォルトのアクションは

にリンクされます
関連する問題