加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

请Groovy / Grails代码清理建议!

发布时间:2020-12-14 16:26:07 所属栏目:大数据 来源:网络整理
导读:我是Groovy的新手Grails,我觉得事情不一定是丑陋的…所以我怎样才能使这段代码变得更好? 这是一个Grails控制器类,减去一些不感兴趣的位.尽量不要太挂,我的车只有一个轮子 – 我可以稍后处理:-) changeWheel是一个Ajax动作. class MyController { ... def ch
我是Groovy&的新手Grails,我觉得事情不一定是丑陋的…所以我怎样才能使这段代码变得更好?

这是一个Grails控制器类,减去一些不感兴趣的位.尽量不要太挂,我的车只有一个轮子 – 我可以稍后处理:-)

changeWheel是一个Ajax动作.

class MyController {
    ...
    def changeWheel = {
        if(params['wheelId']) {
            def newWheel = Wheel.findById(params['wheelId'])
            if(newWheel) {
                def car = Car.findById(params['carId'])
                car?.setWheel(newWheel)
                if(car?.save()) render 'OK'
            }
        }
    }
}

解决方法

我实际上开始使用 Command Objects.

试试这个:

class MyController {
    def index = {
    }
    def changeWheel = { CarWheelCommand cmd ->
        if(cmd.wheel && cmd.car) {
            Car car = cmd.car
            car.wheel = cmd.wheel
            render car.save() ? 'OK' : 'ERROR'
        } else {
            render "Please enter a valid Car and wheel id to change"
        }
    }
}
class CarWheelCommand {
    Car car
    Wheel wheel
}

然后在你的视图中使用’car.id’和’wheel.id’而不是’carId’和’wheelId’

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读