我有许多域类,我已将其作为多项目构建移植到插件中。出于某种原因,他们不再接受Map构造函数。例如,在我打电话之前:
def instance = new UserRole(user: user, role: role)
但是在我将域类移动到插件后,我收到以下错误:
Error on startup: Could not find matching constructor for: com.testcompany.UserRole(java.util.LinkedHashMap)
我是否需要做些什么来重新启用域类以自动接受插件中的命名参数?
我正在使用Grails 3.2.3。
答案 0 :(得分:0)
地图构造函数由grails-plugin-controllers
添加,因为它们将数据绑定逻辑编织到构造函数中,因此您需要将该依赖项添加到插件中,但前提是您计划仅在Web中使用域类环境。
否则您可以随时使用bindData(instance, [user: user, role: role])