2010-09-28 6 views
0

J'ai quelque chose comme ceci:Comment afficher terrain basé sur un autre

Class person { 
    string name 
    string status 
    boolean working 
    boolean vacation 
} 

static constraints = { 
    name() 
    status(inList: ["Active","Inactive"]) 
} 

Ce que je dois est de montrer les champs de travail et de vacances dans les créer et modifier des vues, que si Active est sélectionné dans l'état. J'ai cherché et lu beaucoup mais ne peux pas trouver un chemin, peut-être que je manque quelque chose puisque je suis nouveau aux grails. Toute aide est appréciée. Merci

Répondre

1

Cela ne peut pas être facilement fait avec l'échafaudage dynamique. Vous devrez modifier les vues générées pour ajouter la logique. Voir l'étiquette GSP refference pour si, à http://grails.org/doc/latest/ref/Tags/if.html Dans votre cas, quelque chose comme

<g:if test="$person.active ==true"> 
Insert GSP code to edit data here. 
</g:if> 
+0

Merci pour votre réponse. J'ai essayé de le faire, dans les vues de création et d'édition j'ai mis un autour du code qui montre le champ "working", et j'ai changé ma définition de classe en chaîne status = 'Inactive' afin de s'initialiser avec une valeur. Le fait est que le champ "working" disparaît dans create view mais pas dans edit view, et si je change le statut en 'Active' il ne s'affiche toujours pas – Bufunfa

+0

Got it, a dû changer à . Maintenant, si seulement je pouvais faire que le changement se produise dès que la valeur est changée ce serait génial. pour le moment seulement quand je mets à jour le disque. Je mets à jour ici si je peux le faire. J'apprécie n'importe quelle aide dans this.thank vous – Bufunfa

Questions connexes