【发布时间】:2015-01-15 12:51:40
【问题描述】:
我创建了一个非常简单的 Grails 项目 (IntelliJ IDEA 14.0.2),名为 CheckInheritance 两个域类:
package checkinheritance
class Parent {
String name
static constraints = {
}
}
package checkinheritance
class Child extends Parent{
String prename
static constraints = {
}
}
我为子类生成了控制器类和视图 当我启动应用程序时,一切正常。
然后我将属性“描述”添加到父类:
package checkinheritance
class Parent {
String name
String description
static constraints = {
}
}
我删除了 Child 类的视图和控制器。然后我为子类重新生成文件(视图、控制器)。 当我启动应用程序时,我想添加一个 Child 对象。 输入数据(在所有输入字段中)并按“Anlegen”(保存)后,我收到一个错误,即属性“description”不能为空(请参阅带有德语消息的屏幕截图)。 当基类是抽象的时也会发生这种情况。 数据库是空的并且是新的(开发模式)。
这是我为属性“描述”生成的 _form.gsp:
<div class="fieldcontain ${hasErrors(bean: childInstance, field: 'description', 'error')} required">
<label for="description">
<g:message code="child.description.label" default="Description" />
<span class="required-indicator">*</span>
</label>
<g:textField name="description" required="" value="${childInstance?.description}"/>
</div>
我是否必须在基类中为新属性“描述”添加一些内容?
这是我的环境:
申请状态 应用版本:0.1 Grails 版本:2.4.4 Groovy 版本:2.3.7 JVM版本:1.8.0_25 重新加载活动:true 控制器:3 域:2 服务:3 标签库:15 已安装的插件 restResponder - 2.4.4 日志记录 - 2.4.4 i18n - 2.4.4 数据绑定 - 2.4.4 核心 - 2.4.4 小服务程序 - 2.4.4 编解码器 - 2.4.4 webxml - 1.4.1 数据库迁移 - 1.4.0 jQuery - 1.11.1 数据源 - 2.4.4 urlMappings - 2.4.4 控制器 - 2.4.4 资产管道 - 1.9.9 过滤器 - 2.4.4 域类 - 2.4.4 控制器异步 - 2.4.4 哑剧类型 - 2.4.4 休眠4 - 4.3.6.1 转换器 - 2.4.4 groovyPages - 2.4.4 服务 - 2.4.4 验证 - 2.4.4 脚手架 - 2.1.2 缓存 - 1.1.8
【问题讨论】:
标签: grails inheritance