【发布时间】:2010-01-13 23:47:36
【问题描述】:
在 Spring Roo 中,如果我不希望自动生成特定方法,我可以删除注释。有没有办法在 Grails 中做到这一点?例如,当我执行 generate-all 时,我希望控制器的列表和创建方法能够随着域模型中的任何更改自动更新,但我希望将自定义代码用于不会更改的 show 方法,除非我手动编辑它。
【问题讨论】:
在 Spring Roo 中,如果我不希望自动生成特定方法,我可以删除注释。有没有办法在 Grails 中做到这一点?例如,当我执行 generate-all 时,我希望控制器的列表和创建方法能够随着域模型中的任何更改自动更新,但我希望将自定义代码用于不会更改的 show 方法,除非我手动编辑它。
【问题讨论】:
如果您在动态脚手架控制器中提供一个动作,那么 Grails 将不会在运行时创建该动作(但它会创建所有其他动作)。因此,如果您不想更新 show 操作,请执行此操作
class SomeDomainObjectController {
def scaffold = SomeDomainObject
def show = {
// Your logic for this action goes here
}
}
【讨论】:
运行“grails install-templates”,它将复制用于生成控制器、GSP 等的模板脚本。编辑这些脚本以获得所需的方法。
这不像 Roo 那样灵活,因为它是全局的并且不是每个实例都可用的,但是如果您希望所有控制器都具有相同的结构,那么它会为您工作。
【讨论】: