J'essaie d'utiliser la liaison de données grails pour mapper certains paramètres de formulaire dans mon modèle, mais je pense qu'il y a peut-être quelques limitations concernant le mappage des collections incorporées.Limitation de GrailsDataBinder?
Par exemple, si je vous soumets quelques paramètres comme celui-ci alors l'application fonctionne très bien:
//this works
productLineItems[0].product.id='123'
productLineItems[0].name='product name'
productLineItems[0].description='some description'
...
Cependant, si ma collection productLineItems
est intégré au sein d'une association de la classe de domaine que j'essaie de sauver puis GrailsDataBinder
coups avec un org.codehaus.groovy.grails.exceptions.InvalidPropertyException
:
//this blows up
sale.productLineItems[0].product.id='123'
sale.productLineItems[0].name='product name'
sale.productLineItems[0].description='some description'
...
Je voudrais vraiment éviter d'avoir à faire la mise en correspondance à la main. Y a-t-il un moyen de contourner ceci? J'utilise Grails 2.3.7.
Il n'y a pas assez d'informations ici pour dire avec certitude ce qui ne va pas. J'ai fourni une réponse ci-dessous qui inclut un lien vers un projet qui utilise la même structure param imbriquée que vous décrivez et la liaison semble y fonctionner. S'il y a des détails que vous pouvez changer à propos de cette application qui va déclencher le problème, n'hésitez pas à envoyer une demande de tirage ou à décrire le changement ici et je peux jeter un oeil. –
Merci Jeff - J'essaie juste ton projet maintenant. Je vais voir si ça frappe la ligne de code qui me souffle dans 'GrailsDataBinder' – rcgeorge23
J'avais oublié que vous utilisiez' GrailsDataBinder'. C'est le vieux liant à base de printemps. Y a-t-il une raison pour laquelle vous utilisez le classeur Spring au lieu du nouveau classeur Grails? Cela peut être la différence significative entre votre application et la démo ci-dessous. Le classeur de printemps n'est plus maintenu ou pris en charge. Il a été laissé dans Grails 2.3.x pour la rétrocompatibilité. –