Grails - 如何使用模型约束创建表示belongsTo的下拉列表?

3 grails

我正在学习grails,我有一个问题.

我有2个课,让我们说:

    class Book {

      String name
      String description
      static belongsTo = Category
      Category category

      static constraints = {
           name(nullable:false, blank:false)
               description(nullable:true, maxSize:5000)
      }

   class Category {

      String name
      static hasMany = [books:Book]
      Set books
      static constraints = {
              name(nullable:false, blank:false)
      }

      String toString(){
              this.name
      }
   }
Run Code Online (Sandbox Code Playgroud)

当我创建一本书时,我希望看到一个包含所有类别名称的下拉列表.如果我没有选择一个类别,那么我就无法创建该书.如果数据库中没有类别,那么我就不能创建一本书,直到我创建并选择一个类别.

如果我有正确的约束和字段,是否可以从域类生成此功能(使用grails generate-all)?如果有,怎么样?

Sha*_*aun 5

我可能会离开这里,但我认为您的belongsTo语句的格式不正确.在我见过的例子中,我用过的类是:

static belongsTo = [category:Category]
Run Code Online (Sandbox Code Playgroud)

然后我相信你还需要将Category设置为nullable:false

static constraints = {
           name(nullable:false, blank:false)
           description(nullable:true, maxSize:5000)
           category(nullable:false)
      }
Run Code Online (Sandbox Code Playgroud)

这应该至少生成视图的下拉列表,并禁止创建没有类别的书.