我正在使用Grails,并且我有一个领域模型,其中有多个hasMany属性指向相同的领域类,如下所示:
static hasMany = [ posts : Post, likes : Post, dislikes : Post ]
我遇到的问题是,当我在帖子列表中添加某些内容时,它也不知怎么就进了“喜欢”和“不喜欢”的列表里。至少,当我遍历这些列表时是这样看的。
我认为问题在于我的Post域中也有以下关系:
static belongsTo = [ contributer : Contributer ]
什么是最好的配置这些关系使我的模型工作?有什么建议吗?
@Wayne,
我也尝试了你的测试,它成功通过了。所以,我唯一能想到的就是我的PostController中的save方法出了问题。下面是相关代码(我使用了Spring Security Core插件,并且我的Contributer类扩展了该插件创建的User类):
@Secured(['IS_AUTHENTICATED_FULLY'])
def save = {
def props = [title:params.title, post:params.post, category:Category.get(params.category.id)]
def user = Contributer.get(springSecurityService.principal.id)
def postInstance = new Post(props)
postInstance.contributer = user
if (postInstance.save(flush: true)) {
flash.message = "${message(code: 'default.created.message', args: [message(code: 'post.label', default: 'Post'), postInstance.id])}"
redirect(action: "show", id: postInstance.id)
}
else {
render(view: "create", model: [postInstance: postInstance])
}
}
这里有什么值得注意的吗?