carrierwave extension_white_list无效

这是类似的情况,但没有解决方案CarrierWave extension_white_list似乎不起作用 Carrierwave提供了一个函数extension_white_list ,它应该阻止用户上传无效文件。 我已取消注释此function但如何处理此案例? 我想捕获此错误并通知用户他应该更改文件。

这个wiki条目似乎相关,但我不知道如何继续https://github.com/carrierwaveuploader/carrierwave/wiki/How-to%3A-Validate-uploads-with-Active-Record

根据这个问题https://github.com/carrierwaveuploader/carrierwave/issues/1896

解决方案是这个,它对我有用;

更改:

 def extension_white_list end 

至:

 def extension_whitelist end 

所以他们从白名单中删除了下划线。

在你的模型中, validates_integrity_of :avatar会导致白名单违规行为与validates_presence_of :another_field非常相似validates_presence_of :another_field在保存时会带有空白字段,即save会返回false,之后valid? 将是false并且user.errors[:avatar]提供相关的错误消息。