У меня есть следующий класс предметной области Grails:
class Product {
String name
Float basePrice
Category category
String image = "default.jpg"
static constraints = {
name(size:3..25, blank:false)
basePrice(scale:2, nullable:false)
category(inList:Category.list(), nullable:false)
image(blank:false)
}
}
От контроллера я хочу получить значение по умолчанию для свойства изображения (в данном случае «default.jpg»). Что-то вроде этого:
def productInstance = new Product(params)
productInstance.image = getProductPicturePath() ?: Product().image
getProductPicturePath возвращает путь к изображению, но если изображение не было отправлено, контроллер должен заменить нулевое значение значением по умолчанию. Хотя я мог бы, конечно, написать что-то вроде этого:
productInstance.image = getProductPicturePath() ?: "default.jpg"
Это, конечно, не очень DRY, и я бы предпочел сохранить это значение по умолчанию в одном месте. Как я могу этого добиться?