这是一个类似的案例,但没有解决方案CarrierWave extension_white_list doesn't seem to work
Carrierwave提供了一个函数extension_white_list
,它可以防止用户上传无效文件。我已取消注释此功能但如何处理此案例?我想捕获此错误并通知用户他应该更改文件。
此wiki条目似乎相关,但我不确定如何继续https://github.com/carrierwaveuploader/carrierwave/wiki/How-to%3A-Validate-uploads-with-Active-Record
答案 0 :(得分:8)
根据此问题https://github.com/carrierwaveuploader/carrierwave/issues/1896
解决方案就是这个,它对我有用;
变化:
def extension_white_list
end
为:
def extension_whitelist
end
所以他们从白名单中删除了下划线。
答案 1 :(得分:1)
在模型中,validates_integrity_of :avatar
会导致白名单违规行为与validates_presence_of :another_field
一样,保存时会显示空白字段,即save
将返回false,之后valid?
将为false,user.errors[:avatar]
中会出现相关的错误消息。