我继承了Grails 2.3.7中的项目,发现很少出现:
domainInstance.save(flash:true)
我知道刷新(立即提交更改),但无法找到有关 flash 的任何内容。项目的编译和工作没有任何警告。它能做什么?它只是拼写,如果是,为什么在编译时找不到并处理它?</ p>
答案 0 :(得分:6)
当你使用那种类型的方法调用时,实际上编译的也是。
save(Map params)
所以是不是..
save(flush: true)
或
save(flash: true, danceOnTheSpot: false)
没关系。 Groovy将选择它想要的位并忽略它没有的位。这在功能上等同于调用..
save()
这真的很强大!一个包含50个方法调用的所有参数的映射。维护噩梦,但仍然非常酷。
答案 1 :(得分:1)
无论好坏,Groovy都会编写许多错误消息。喜欢这个变量名。与Perl(以及其他一些脚本语言)类似,您不必声明变量,只需在使用时键入它即可。很酷的快速编码,但意味着编译不会捕获许多常见的错误。