我是 Groovy & Grails 的新手,我觉得事情不必那么难看……那么我怎样才能让这段代码更好看呢?
这是一个 Grails Controller 类,去掉了一些无趣的部分。尽量不要太挂断我的 Car
只有一个 Wheel
- 我可以稍后处理:-)changeWheel
是一个 Ajax Action 。
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
}
然后在您的 View 中使用'
car.id
' 和 ' wheel.id
' 而不是 ' carId
' 和 ' wheelId
'
关于grails - Groovy/Grails 代码清理建议,请!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4420334/