J'ai g: sélectionner à mon avis qui affiche une liste de produits:Comment configurer et récupérer la valeur d'un g: select in Grails?
<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>
$ {} produits est une liste de tous les produits. Si j'imprime la variable params qui est transmis au contrôleur, je reçois ceci:
[produit: Test stock produit, : [id: 1], inventory.id:1 action : saveProductToInventory, contrôleur: inventaire]
le produit clé contient le nom, et non l'ID que je pensais que ce contiendrait quand je la valeur ajoutée = « $ {il .id?} » à g: balise select.
Comment dois-je déclarer la balise g: select pour afficher le nom du produit tel qu'il est actuellement, mais transmettre l'ID du produit en tant que valeur?
Essayé, et cela fonctionne. Merci! Mais avant cela, j'ai essayé avec optionKey = "$ {it? .id}" et cela m'a donné les mêmes résultats qu'avant. Je ne suis pas sûr de comprendre comment g: select sait obtenir l'identifiant de chaque produit, au lieu d'essayer d'obtenir l'identifiant de la liste elle-même. – Cesar
g: select l'appelle. pour vous sur chaque ligne pour générer la valeur de l'option de sélection. –
leebutts