我使用Grails,和我有多重的hasMany域模型的屬性相同的域類,它看起來像這樣:多的hasMany關係,同域類Grails的
static hasMany = [ posts : Post, likes : Post, dislikes : Post ]
的問題,我我遇到的情況是,當我在帖子列表中添加一些內容時,它也會以某種方式將它列入喜歡和不喜歡的列表中。至少,這是我遍歷每個列表時的樣子。
我認爲,問題是,我也有我的後域以下關係:
static belongsTo = [ contributer : Contributer ]
什麼是要去有關配置這些關係,以使我的模型工作的最佳方法?有什麼建議麼?
@Wayne,
我嘗試使用您的測試,以及和它順利通過。所以,我能想到的唯一情況是我的PostController中的保存方法有問題。我粘貼了relavent代碼如下(我使用Spring Security的核心插件,和我的貢獻者類擴展了與該插件創建的用戶類):
@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])
}
}
有什麼,在這裏脫穎而出?
當您添加後的貢獻者做你該做 'myPost.contributer = myContributer' 或 'myContributer.addToPosts(myPost)'? – fixitagain
@fixitagain,謝謝你的迴應。我已經嘗試了兩種方法,結果相同。 – NickForrer