1

製品のリストを表示するビューに ag:select があります。

<g:form name="addproductform" action="saveProductToInventory" method="post">
    <g:select from="${products}" name="product" value="${it?.id}" />
    <g:hiddenField name="inventory.id" value="${inventoryInstance.id}" />
    <input class="save" type="submit" value="Save product" />
</g:form>

${products} はすべての製品のリストです。コントローラーに渡された params 変数を出力すると、次のようになります。

[製品:テスト製品、在庫:[id:1]、inventory.id:1、アクション:saveProductToInventory、コントローラー:在庫]

プロダクトキーには、g:select タグに value="${it?.id}" を追加したときに含まれると思っていた ID ではなく、名前が含まれています。

g:select タグを宣言して、製品の名前を現在のようにレンダリングする必要がありますが、製品の ID を値として渡すにはどうすればよいですか?

4

1 に答える 1

1

タグに対してoptionKey引数を使用する必要があります。

例えば

<g:select from="${products}" name="product" value="${it?.id}" optionKey="id" />

値argは、フィールドの現在の値を選択するために使用されます。

于 2009-09-28T23:33:35.863 に答える