Очень часто используется domainClass.properties = params для привязки всех входящих параметров запроса к объекту класса домена. Я не понимаю, почему это назначение автоматически обновляет объект домена. напримерgrails - странное поведение после привязки данных
def update = {
def book = Book.get(1)
book.properties = params
book.discard()
}
присвоение параметров обновляет объект домена. метод отбрасывания не влияет. Может кто-нибудь мне помочь?
Когда вы говорите «автоматически обновляется», вы имеете в виду, что объект домена сохраняется? Просто пытаюсь выяснить, что происходит. –
Думаю, нам нужен еще какой-то контекст. Каково соединение с данными и как оно установлено? Выполнение book.properties = params делает не что иное, как просто установление значений свойств объекта в том, что находится в параметрах. Он не сохраняет объект. – mfloryan
Да, «автоматически обновляется» означает, что объект doamin сохраняется. данные connectin - это простой hsqldb. я реализовал очень простой пример для устранения проблемы. Представьте, что мы это действие контроллера: четкости книга = Book.get (1) book.properties = PARAMS [книга: книга] Futhermore класс книга домена имеет замыкание BeforeUpdate на каждое обновление записывать в журнал учета. def beforeUpdate = { log.error "книга обновления" } В книге имеется только одна прописка -> Название строки. Каждый раз, когда прокси изменяется через привязку данных, до вызова обновления. так что это означает книгу obj. сохранить? – hitty5