我有,我用高度定製腳手架模板時beforeUpdate
模板方法添加到update
,這樣我可以輕鬆地定製腳手架Controller
的,而不需要生成,然後分別編輯每個控制器一個Grails項目覆蓋模板方法。在腳手架控制器
不幸的是,這並不工作,只有beforeUpdate
從腳手架被調用。 我懷疑它與使用Groovy中注入腳手架代碼到實際Controller
代碼生成做的,但我無法找到任何確認。
什麼我問的是無論對問題的解決方案或爲什麼它不工作的解釋。
這裏是腳手架代碼:
def beforeUpdate = {
println "beforeUpdate from scaffold"
}
def update() {
// call before update hook
beforeUpdate()
def ${propertyName} = ${className}.get(params.id)
if (!${propertyName}) {
flash.message = message(code: 'default.not.found.message', args: [message(code: '${domainClass.propertyName}.label', default: '${className}'), params.id])
redirect(action: "list")
return
}
[...]
和腳手架控制器代碼(這不叫,但我相信它應該):
class CalendarController {
static scaffold = Calendar
def beforeUpdate = {
println "beforeUpdate from controller"
}
}
我已經嘗試Grails的清潔 ;-)
UPDATE
我已經最終意識到,這僅僅是impossibile由於Grails的腳手架是如何設計的。關閉。
「關閉」 這個問題,你應該添加自己的答案,然後標記它被接受。 – madth3