-1

私は次の名前を持っていますUrlMapping

name 'admin_user' :"/admin/user/$action?/$id?"(controller:'userAdmin')

site/edit.gsp (/admin/site/edit)私が呼んでいる別のページで:

<g:link  mapping="admin_user" action='create' class="create" >New User</g:link>

しかし、その生成

/admin/site/create

基本的に私のマッピングパラメータを無視します。私が間違っていることについて何か助けはありますか?

4

3 に答える 3

0

このマッピングは問題ないようです。Grailsv2.0.4環境で正しく動作しました。

<g:link  mapping="admin_user" action='create' class="create" >New User</g:link>

次のリンクを生成します。

/admin/user/create

<g:link  mapping="admin_user" action='create' class="create" id="3">New User</g:link>

生成します

/admin/user/create/3

UrlMapping.groovyが適切な場所にあるかどうか、または採用したGrailsバージョンのドキュメントを確認できます。

于 2013-03-05T03:36:17.773 に答える
0

だから私はついにこれの根底にたどり着きました。それは競合する2つのURLマッピングの問題でした。

name 'admin_user' :"/admin/user/$action?/$id?"(controller:'userAdmin')
"/$controller/$action?/$id?"()

それは最初のものを無視し、常に2番目のものを使用していました。最終的には、adminプレフィックスの使用をやめ、実際/admin/userAdmin/に定義したものを使用する必要がありました。

"/admin/$controller/$action?/$id?"()

次に、controller='userAdmin'でcreateLinkを使用しました。

/ user / xxxへのリンクが必要なときはいつでも、明示的に定義しました。

尻の大きな痛み....

于 2013-03-13T16:59:09.807 に答える
-1

名前付きマッピングを正しく作成または使用していないようです。名前付きマッピングとの両方を使用しようとしていますactionが、アクションフォームが優先されているため、へのリンクが表示され/controller/actionます。ドキュメントに基づいて、アクションに特定の名前付きマッピングを用意する必要があります。これは次のようになります。

name createAdminUser: "/admin/user/create" {
    controller = 'userAdmin'
}

$id?を介して、(作成には意味がないようです)のような名前付きパラメーターを渡すことができますparams="[name: value]"。次のようにビューで使用します。

<g:link mapping="createAdminUser" class="create">New User</g:link>
于 2013-03-04T22:32:43.070 に答える