Есть предложения на этот счет?
partner.rb
LOGO_VALIDATIONS = {
max_size: 2.megabytes
}
has_one_attached :logo
validate :validate_logo_attachment
def validate_logo_attachment
if logo.attached? && logo.blob.byte_size > LOGO_VALIDATIONS[:max_size]
errors.add(:logo, 'must be less than 2 Mb')
end
end
partners_controller.rb
def change_logo
@current_partner.logo.purge
@current_partner.logo.attach(change_logo_params[:logo])
render_error(@current_partner.errors.full_messages) && return unless @current_partner.valid?
@current_partner.save!
render_success({logo_url: @current_partner.logo_url})
end
Когда я пытаюсь изменить изображение логотипа размером более 2 Мб, появляется следующая ожидаемая ошибка.
{
"result": "failed",
"messages": [
"Logo must be less than 2 Mb"
]
}
Но когда я проверяю изображение по rails_blob_path(@current_partner.logo, disposition: "attachment", only_path: true)
, я получаю новое изображение логотипа.