Я использую carrierwaveuploader/carrierwave: Classier solution for file uploads for Rails, Sinatra and other Ruby web frameworks.Как проверить удаление изображения? Я не могу проверить, потому что перед сохранением инвертора. return true
@foo.assign_attributes(update_params) #=> update_params includes "remove_avatar"=>"1"
@foo.avatar.present? #=> true
@foo.save
@foo.avatar.present? #=> false
перед сохранением present?
возвращения true
. после сохранения present?
возвращение false
.
Мои Validation
validate :validate_avatar
def validate_avatar
# if @foo.avatar deleted and same conditions, add error
end
В validate_avatar
, @foo.avatar.present?
является true
, потому что перед сохранением.
Я стараюсь after_save :validate_avatar
.
after_save :validate_avatar
def validate_avatar
# if @foo.avatar deleted and same conditions, add error
# then return false
end
Поскольку after_save, @foo.avatar.present?
является false
. Но Rails5
не откат с возвратом false
.
Как проверить @foo.avatar
удален в подтверждение?
Я хочу проверить, что avatar
был удален, но оставил данные об урожайности изображения. Поэтому мне нужно проверить, @foo.avater
удален или нет. Если avatar
удален, данные об уроне изображения удалены. Поэтому проверьте правильность.
Уже сделан способ удаления всех данных об урожайности изображения (xxx_crop
) в моем проекте.
Если я правильно понимаю, вы хотите, чтобы вызвать ошибку всякий раз, когда кто-то пытается удалить их аватар, но сохраняйте одни и те же параметры везде? – bkunzi01
@ bkunzi01 Я добавляю цель проверки. –