【发布时间】:2016-07-14 22:35:38
【问题描述】:
使用 Carrierwave 上传图片,并在验证失败时将图片呈现在页面上。
场景:
访问包含用户头像图像的用户编辑页面。 上传大于 4 MB 的新头像并点击更新。 验证器失败,因为文件大小大于 4 MB。 用户编辑页面呈现正确的错误消息。
问题:
图像显示在渲染的编辑页面上。如果我重新访问用户编辑页面,它就会消失,并且可以确认它没有保存在数据库中。
我也在使用 'file_validator' gem。
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
【问题讨论】:
-
我已尝试使用 CarrierWave wiki 中的说明删除缓存目录,但在验证失败后它们不会删除。 github.com/carrierwaveuploader/carrierwave/wiki/…
标签: validation ruby-on-rails-4 carrierwave