gpt4 book ai didi

grails - Grails:动态形式

转载 作者:行者123 更新时间:2023-12-02 15:14:24 25 4
gpt4 key购买 nike

我对有疑问,请从Book 中删除作者。

我在一对多单向关系中有Book类和Author类:

class Book{

String isbn
...

List<Author> authors
static hasMany = [ authors: Author ]
}

class Author {

String firstname
String lastname
...

}

注意:在“作者”类中,没有 归属于

我使用动态形式:

请注意按钮 添加作者删除作者。我使用JavaScript附加html代码来形成表单或从表单中删除html代码。

之后,我将类Book保存在 Controller 中:
 def save = {
def book = new Book()

if (params.id){
book = Book.get(params.id)
}

book.properties = params

if( book.save() ){
redirect(controller:"book", action:"all")
return
}else{
render(view:'form', model:["book": book])
return
}
}

对于添加作者和编辑作者来说,效果很好,但是对于删除作者来说, 效果不佳。
如果我使用“删除作者”按钮并单击“提交表单”,则作者不会从Book 中删除。
编辑之前有所有作者。

请,您能帮我解决这个问题吗?
这是解决这个问题的好方法吗?

非常感谢
汤姆

最佳答案

Grails无法知道您要删除的作者,除非您在请求中发送了要删除的作者ID以及要删除的Grails的明确指令。截至目前,没有任何params作者并不意味着删除author。

因此,您将需要在表单中执行某些操作,以便在“删除作者”时将要删除的作者ID存储在隐藏字段中,并指明要删除的作者。然后像...

def authorToRemove = Author.get(params.authorId)
def book = Book.get(params.id)
book.removeFromAuthors(authorToRemove)

关于grails - Grails:动态形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6621690/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com