在控制器中我有这个查找器
User.findByEmail('test@test.com')
并且有效。
即使我写也有效
User.findByEmail(null)
但如果我写
User.findByEmail(session.email)
并且 session.email 没有定义(ergo 为空)它抛出异常
groovy.lang.MissingMethodException: No signature of method: myapp.User.findByEmail() is applicable for argument types: () values: []
这种行为对吗?
如果我评估“session.email”它给我 null 所以我认为它必须像我写 User.findByEmail(null) 时那样工作
更奇怪的是......
如果我在 groovy 控制台中运行此代码:
import myapp.User
User.findByEmail(null)
它返回一个电子邮件为空的用户,但如果我再次运行相同的代码,它会返回
groovy.lang.MissingMethodException: No signature of method: myapp.User.findByEmail() is applicable for argument types: () values: []