1

私は grails アプリケーションを書いていregionます。が含まれているので、テーブルの です。その に関連付けられた行のみを照会するには、 を URLに渡すことができる必要があります。これが私のものです:districtstreamsregiondistrictregion_idforeign keydistrictregionidUrlMappings.groovy

static mappings = {
        "/$controller/$action?/$id?"{
            constraints {
                // apply constraints here
            }
        }

        "/"(controller:"/user")
        "500"(view:'/error')
    }

ただし、次に、districtコントローラーに転送するために作成したリンクに移動します (デフォルトはlistI see: ですがlocalhost:8080/project/district/list、 が含まれていないためregion_id、期待していましたlocalhost:8080/project/district/list/region_id='1'?またはlocalhost:8080/project/district/list/id='1'? 誰かが私の間違いを指摘するのを手伝ってくれませんか? ありがとう

4

1 に答える 1

2

/$controller/$action?/$id?paramsマップにはid、url からの値を持つプロパティがあることを意味します。/project/district/list/5このマップのような URL の場合、5 ( assert params.id == 5) が返されます。

また、次の URL を使用してアクションを呼び出し、/project/district/list?region_id=5に対して 5 を取得することもできますparams.region_id

`id の代わりに別の名前が必要region_idで、それをクエリ パラメータとして渡したくない場合は、独自のマッピングを作成できます。

"/district/list/$region_id"(controller:"district", action: "list")

この場合、この URL はコントローラーdistrictとアクションlistに厳密にマップされ、 params.region_id5 を返します。/project/district/list/5

于 2012-07-07T13:29:42.503 に答える