2011-05-18 10 views
5

En mis Grails 1.3.7 proyecto que tengo una clase de dominio de esta manera:Mostrar una propiedad transitoria de dominio en las vistas escalonadas

class User { 

String login 
String password 
String name 
String passwordConfirmation 

static constraints = { 
    login  unique:true, blank:false, maxSize:45 
    password password:true, blank:false, size:8..45, 
       matches: /(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?!.*\s).*/ 
    name  blank:false, maxSize:45 
    passwordConfirmation display:true, password:true, validator: { val, obj -> 
     if (!obj.properties['password'].equals(val)) { 
      return ['password.mismatch'] 
     }} 
} 

static transients = ['passwordConfirmation'] 

String toString() { 
    name 
} 

}

y estoy usando andamio para la correspondiente crear/editar comportamiento.

Mi problema es que, incluso si marqué la contraseña Restricción de confirmación que se mostrará, no se muestra en las vistas de andamio. ¿Hay algo que me falta para que se muestren las propiedades transitorias? ¿Es posible?

Gracias

Respuesta

5

Por griales por defecto no crea los campos en vistas de propiedades transitorias. Se podría añadir manualmente en cada vista o si usted tiene un montón de ellos y está utilizando las vistas escalonadas que podría hacer lo siguiente:

Instalar las plantillas de vista:

grails InstallTemplates 

continuación, abra las plantillas relevantes en src/templates/andamios

y modificar la línea que dice:

persistentPropNames = domainClass.persistentProperties*.name 

a

persistentPropNames = domainClass.properties*.name 

para cada una de las plantillas. Esto es un poco burdo, pero debería funcionar y usted puede editar aún más la plantilla para incluir/excluir cualquier propiedad que desee.

+0

Debe haber una manera más fácil de lograr esto, pero por el momento parece ser la única manera. Gracias – Carlos

Cuestiones relacionadas