重新上传附件,使用新版本中允许的不同文件名。

作者: rishijain创建于 2025年3月21日更新于 2025年3月25日

我使用的是 carrierwave v2.2.6。 我有一个这样的测试用例:

  test "should_not_change_filename" do
    login_as :admin
    image = images :one
    post :update, params: {
      id: image.to_param,
      image: {
        attachment: fixture_file_upload("abc.jpg", "image/jpeg")
      }
    }
    assert_equal ["附件文件名不能从 'one.jpg' 更改"], assigns(:image).errors.full_messages
  end

在 gem 版本 >= v3.0.0 中,当我重新上传一个与已附加的文件名不同的文件时,就会出现错误。但在版本 >= 3.0.0 中,相同的流程会将具有不同名称的新文件上传。

内容来源: carrierwaveuploader/carrierwave