m:nリレーションの関連オブジェクトは、アプリケーションのhtml select要素で選択することができます(チェックボックスのリストにすることもできます)。 の関連オブジェクトが編集フォームで選択解除されている場合は、関連オブジェクトのオブジェクトリストをクリアする必要があります。 scaffoldコードでは、少なくとも1つの関連オブジェクトが残っている場合にのみ動作します。Grails:すべての関連オブジェクトを削除する
例:
class Book {
String name
static hasMany = [authors: Author]
belongsTo = Author
}
class Author {
String name
static hasMany = [books: Book]
}
def b1 = new Book(name: "B1").save()
def b2 = new Book(name: "B2").save()
def author = new Author(name: "Stephen").addToBooks(b1).addToBooks(b2).save()
// How to remove all books from the author?
Grailsのドキュメント以下は、私はすべての関連オブジェクトのドメインオブジェクトにremoveFrom*
(addTo*
の反対)を呼び出します。しかし、これを行うには、どのオブジェクトが関連しているかを把握しなければなりませんでした。関連オブジェクトのリストをクリアする簡単な方法はありますか?関連するオブジェクトのリストが単に空のリストに置き換えられるのであれば、双方向関連が正しく処理されるでしょうか?