Метод discard () не сбрасывает экземпляр книги, а только предотвращает его автоматическое сохранение Grails.Для сброса экземпляра книги вам необходимо перезагрузить его, например, с помощью Book.get (1).
И book.properties = params просто попытается назначить элементы в карте params свойствам Book, где свойствоимя совпадает с ключом ввода карты.Я считаю, что это стандартная функциональность Groovy, а не специфическая для Grails.