Grails 如何在where闭包中引用隐式参数
如何在where闭包中使用隐式参数 我并不特别为我目前的解决方案感到自豪:Grails 如何在where闭包中引用隐式参数,grails,gorm,implicit-parameters,Grails,Gorm,Implicit Parameters,如何在where闭包中使用隐式参数 我并不特别为我目前的解决方案感到自豪: def index() { def params = params // <-- UGLY HACK respond Project.where { if (params.sender) { sender.id == params.sender // <-- OTHERWISE THIS WOULD FAIL
def index() {
def params = params // <-- UGLY HACK
respond Project.where {
if (params.sender) {
sender.id == params.sender // <-- OTHERWISE THIS WOULD FAIL
}
}
}
我还注意到,我可以通过将通用Groovy代码放入闭包中来参数化查询,如上面的if。奇怪的是,即使没有黑客攻击,条件中的参数也没有引起任何麻烦。这种做法可以还是不可取?好吧,你可以先找到发件人:
然后将其作为标准传递给您的where闭包:
你会得到这样的结果:
def index() {
def thesender = Sender.get(params.sender)
respond Project.where { sender == thesender }
}
Project.where { sender == thesender }
def index() {
def thesender = Sender.get(params.sender)
respond Project.where { sender == thesender }
}