使用Carrierwave上傳圖像並在驗證失敗時呈現圖像。Carrierwave在驗證失敗後顯示圖像
場景:
訪問用戶編輯頁面,它包含了用戶的頭像圖片。 上傳一個大於4 MB的新頭像圖片並點擊更新。 驗證器因文件大小大於4 MB而失敗。 用戶編輯頁面顯示正確的錯誤消息。
問題:
圖像顯示在呈現編輯頁面。如果我重新訪問用戶編輯頁面,它會消失,並且可以確認它沒有保存在數據庫中。
我也在使用'file_validator
'寶石。
class User < ActiveRecord::Base
...
validates :avatar, file_size: { less_than: 4.megabytes }
...
end
class UsersController < ApplicationController
...
def update
if @user.update_attributes(user_params)
flash[:success] = "Your account settings were successfully updated."
redirect_to @user
else
render 'edit'
end
end
編號:https://github.com/johnTheDudeMan/foodme
我試過了CarrierWave wiki的指令來刪除緩存目錄,但是驗證失敗後它們不會被刪除。 https://github.com/carrierwaveuploader/carrierwave/wiki/How-to:-Delete-cache-garbage-directories –