2011-05-18 71 views
5

域瞬态特性在我的Grails 1.3.7项目,我有一个域类是这样的:显示在脚手架意见

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 
} 

}

而且我使用的支架为相应的创建/编辑动作。

我的问题是,即使我打上passwordConfirmation约束要显示,它是不是在脚手架视图中显示。是否有什么我缺少使瞬态属性显示?可能吗?

谢谢

回答

5

默认情况下,grails不会在视图中为瞬态属性创建字段。您可以手动添加它们在每个视图,或者如果你有很多他们与正在使用的脚手架的观点,你可以做到以下几点:

安装视图模板:

grails InstallTemplates 

然后打开相关的模板SRC /模板/脚手架

并修改读取的行:

persistentPropNames = domainClass.persistentProperties*.name 

persistentPropNames = domainClass.properties*.name 

为每个模板。这是一个有点bodge的,但它应该工作,你可以进一步编辑模板包含/排除任何你喜欢的特性。

+0

应该有实现这个更简单的方法,但目前似乎是唯一的出路。谢谢 – Carlos 2011-08-10 06:27:00