Skip to content

CarrierWave does not change cached file extension after form reload #2254

@tpltn

Description

@tpltn

Steps to reproduce

Uploader

class ImageUploader < CarrierWave::Uploader::Base
  include CarrierWave::MiniMagick

  storage :file
  process convert: 'jpg'
end

Form

...
<%= form.text_field :title %>

<%= form.file_field :image %>
<%= form.hidden_field :image_cache %>
...

Model

class Project < ApplicationRecord
  mount_uploader :image, ImageUploader

  validates_presence_of :title
  validates_integrity_of :image
  validates_processing_of :image
end
  1. Select image.png via file_field browser, but don't fill required title field
  2. Submit form and get error: title is required
  3. Fill title and submit form again

Expected behavior

Image is converted to jpg and saved as image.jpg

Actual behavior

Image is converted to jpg and saved as image.png (with original file name)

System configuration

Ruby version: 2.4.2
Rails version: 5.1.4
CarrierWave version: 1.2.1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions