Grails 3 - 移动到插件时不允许Map构造函数的域

时间:2017-01-31 06:05:52

标签: grails gorm

我有许多域类,我已将其作为多项目构建移植到插件中。出于某种原因,他们不再接受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。

1 个答案:

答案 0 :(得分:0)

地图构造函数由grails-plugin-controllers添加,因为它们将数据绑定逻辑编织到构造函数中,因此您需要将该依赖项添加到插件中,但前提是您计划仅在Web中使用域类环境。

否则您可以随时使用bindData(instance, [user: user, role: role])