Я слежу за примерами кода в «Полном руководстве по Grails» Грэма Кита Роше и наткнулся на довольно необычный камень преткновения.
По сути, существует 2 класса домена - Bookmark & Tag.
Закладка:
class Bookmark {
static hasMany = [tags:Tag]
URL url
String title
String notes
Date dateCreated = new Date()
}
Tag:
class Tag{
static belongsTo= Bookmark
Bookmark bookmark
String name
}
Я получил указание запустить консоль Grails (это то же самое, что и Groovy Console) и создать новый объект следующим образом.
def b = new Bookmark(url: new URL('http://grails.org/'), title:'Grails', notes:'Groovy')
В результате:
Result: Bookmark : null
Согласно книге, GORM автоматически обеспечивает реализацию метода addTag. Итак, я кодирую ...
b.addTag( new Tag(name: 'grails'))
Только чтобы получить сообщение об ошибке:
Exception thrown: No such property: b for class: ConsoleScript1
groovy.lang.MissingPropertyException: No such property: b for class: ConsoleScript1 at ConsoleScript1.run(ConsoleScript1:2)
Автор не учел это в книге. Мне было интересно, кто-нибудь может мне помочь?
Спасибо.