我有两个班:书和作者;作者可以拥有许多书籍,一本书属于一位作者。
我需要创建一个用于添加图书的表单。按下创建按钮时,我想创建图书记录和作者记录。目前,默认脚手架呈现一个列表框以从现有作者中进行选择,因此我需要用文本框替换它。
以下是我的课程的简化版本:
class Book {
static belongsTo = [author:Author]
String title
}
class Author {
static hasMany = [books:Book]
String name
}
我在网上找到的所有教程都只包含作者表格的例子,也是创建书籍而不是相反的方式。如何做到这一点?
感谢。
答案 0 :(得分:1)
您可以创建一个包含2个文本框的表单,一个用于书名,另一个用于书籍作者。我将假设作者的名字是唯一的,控制器的代码将类似于:
def saveBookForm(String title, String name) {
Author author = Author.findByName(name)
if (author == null) {
author = new Author(name:name).save()
}
new Book(title:title, author:author).save()
}
答案 1 :(得分:0)
如何创建另一个具有book和author实例的Domain类BookAuthor。
等等 Grails form creation for many-to-one belongsTo然后再做
grails generate-all BookAuthor
我认为这可以帮助您创建两个记录。