2013-09-27 90 views
0

這裏是一個類似的情況,但沒有解決方案CarrierWave extension_white_list doesn't seem to work Carrierwave提供了一個函數extension_white_list,它應該阻止用戶上傳無效文件。我沒有註釋這個功能,但我該如何處理這種情況?我想捕捉這個錯誤並通知用戶他應該更改文件。carrierwave extension_white_list不工作​​

這個維基條目似乎有關,但我不知道如何着手https://github.com/carrierwaveuploader/carrierwave/wiki/How-to%3A-Validate-uploads-with-Active-Record

回答

1

內部模型,validates_integrity_of :avatar會造成白名單違規行爲採取行動很像validates_presence_of :another_field將與保存時一個空白領域,即save將返回false ,之後valid?將是錯誤的,並會在user.errors[:avatar]中提供相關的錯誤消息。

5

根據這個問題https://github.com/carrierwaveuploader/carrierwave/issues/1896

的解決方案是這一點,它爲我工作;

變化:

def extension_white_list 
end 

到:

def extension_whitelist 
end 

所以他們已刪除從白名單中字下劃線。

+0

我不能相信他們沒有創建別名就這麼做了。這幾乎就像每個Rails應用程序一樣,都是安全漏洞。 感謝您的信息@「Shuaib Zahda」 ,非常有用! – lucasarruda