heroku回形针奇怪错误回形针::错误::丢失RequiredValidator错误

heroku回形针奇怪错误回形针::错误::丢失RequiredValidator错误,heroku,amazon-s3,paperclip,Heroku,Amazon S3,Paperclip,我已经在heroku部署了一个rails应用程序,在我更改域之前它一直运行良好,在本地运行良好,现在我开始出现以下错误:回形针::错误::MissingRequiredValidatorError s3 env变量是在heroku上设置的,我不知道为什么会发生这个错误, 谢谢你的帮助 编辑:供将来参考,它与heroku无关,一旦重新绑定,它将在本地抛出相同的错误,正如答案所示。对于4.0版(2天前发布)的回形针,需要文件/mime验证。 只需将以下内容添加到您的模型中: validates_at

我已经在heroku部署了一个rails应用程序,在我更改域之前它一直运行良好,在本地运行良好,现在我开始出现以下错误:
回形针::错误::MissingRequiredValidatorError

s3 env变量是在heroku上设置的,我不知道为什么会发生这个错误, 谢谢你的帮助

编辑:供将来参考,它与heroku无关,一旦重新绑定,它将在本地抛出相同的错误,正如答案所示。

对于4.0版(2天前发布)的回形针,需要文件/mime验证。 只需将以下内容添加到您的模型中:

validates_attachment_content_type :file_name, :content_type => %w(image/jpeg image/jpg image/png)
重要信息:替换文件名和内容类型,使其适合您的项目

它在本地工作,因为您可能尚未更新回形针。

回形针(版本4)现在默认为安全的。必须验证mime类型或文件名,或者显式关闭验证

这是为了防止内容类型欺骗,例如上载一个php文件而不是一个可公开访问的图像

建议的解决方案如下所示:

validates_attachment_content_type :image, :content_type => /\Aimage/
此处的文档:


注意这不仅仅是一个S3问题。

或者干脆把它放在一边,忽略它

do_not_validate_attachment_file_type :image
试试这个-


验证\u附件\u内容\u类型:文件名,:content\u类型=>/\Aimage/*\Z/

此外,在
附加了\u文件后,您需要此文件。
有关其他选项,请参阅回形针文档的安全验证部分:另外,您还可以传递
do\u not\u validate\u attachment\u file\u type:file\u name
忽略此安全要求。仅在您信任用户上传的受控环境下使用此选项。