Groovy帮助…关于def编辑和控制器

| 默认情况下,“ 0”包含什么?您看,我在看一本书,但事实证明它使用的是旧版本,这就是某些代码无法正常工作的原因。我有这段代码:
def edit= {
def user = User.get(params.id)
    if (session?.user?.id == null){
        flash.message = \"You have to login first before editting your stuff.\"
        redirect(action:\'login\')
        return
    }else if(session?.user?.id != params.id) {
        flash.message = \"You can only edit yourself.\"
        redirect(action:list)
        return
    }else{
        //What should I put here?
}

}
它已经起作用了。如果用户没有登录就单击编辑,那么他将被重定向到登录页面。否则,如果他登录了,则只允许编辑自己。我应该在\“ else \”子句中放什么?它应该已经允许用户编辑他的东西,但是我真的不知道如何实现我想要的东西。 :( 如果有人可以共享默认的
edit
代码段,那将是很好的。 我对所有这些都有些陌生,所以请放轻松。     
已邀请:
如果您正在谈论Grails,请备份UserController并尝试grails generate-controller-它会为您提供默认操作的完整文本。 我还建议您仔细阅读脚手架一章-这是一个很好的起点。     
默认的编辑操作应如下所示(伪代码,这取决于您在其上创建代码的实际域类):
def edit = {
    redirect(action: \"show\", id: params.id)
    return true

    def <domain>Instance = <DomainClass>.get(params.id)
    if (!<domain>Instance) {
        flash.message = \"${message(code: \'default.not.found.message\', args: [message(code: \'<DomainClass>.label\', default: \'<DomainClass>\'), params.id])}\"
        redirect(action: \"list\")
    }
    else {
        return [<domain>Instance: <domain>Instance]
    }
}
顺便说一句:大多数时候,您不必通过在控制器代码中进行显式编程来进行安全性检查,为此目的,请查看Grails Spring安全性插件。     

要回复问题请先登录注册