Grails 在支架视图中显示域瞬态特性
在我的Grails1.3.7项目中,我有一个域类,如下所示:Grails 在支架视图中显示域瞬态特性,grails,transient,scaffold,Grails,Transient,Scaffold,在我的Grails1.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,
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
}
}
我正在使用scaffold进行相应的创建/编辑操作
我的问题是,即使我将passwordConfirmation约束标记为要显示,它也不会显示在scaffold视图中。在显示瞬态属性时,我是否缺少一些东西?可能吗
谢谢,默认情况下grails不会在视图中为瞬态属性创建字段。您可以在每个视图上手动添加它们,或者如果您有很多这样的视图并且正在使用脚手架视图,则可以执行以下操作: 安装视图模板:
grails InstallTemplates
然后在src/templates/scaffolding中打开相关模板
并修改以下行:
persistentPropNames = domainClass.persistentProperties*.name
到
对于每个模板。这是一个小问题,但它应该可以工作,您可以进一步编辑模板以包括/排除任何您喜欢的属性 应该有一个更简单的方法来实现这一点,但目前似乎是唯一的方法。谢谢
persistentPropNames = domainClass.properties*.name