- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
当我尝试通过我的 Rails 博客应用程序使用回形针上传时,我遇到了这个错误。当它说“MissingRequiredValidatorError”时不确定它指的是什么我认为通过更新 post_params 并给它 :image 就可以了,因为创建和更新都使用 post_params
Paperclip::Errors::MissingRequiredValidatorError in PostsController#create
Paperclip::Errors::MissingRequiredValidatorError
Extracted source (around line #30):
def create
@post = Post.new(post_params)
这是我的 posts_controller.rb
def update
@post = Post.find(params[:id])
if @post.update(post_params)
redirect_to action: :show, id: @post.id
else
render 'edit'
end
end
def new
@post = Post.new
end
def create
@post = Post.new(post_params)
if @post.save
redirect_to action: :show, id: @post.id
else
render 'new'
end
end
#...
private
def post_params
params.require(:post).permit(:title, :text, :image)
end
这是我的帖子助手
module PostsHelper
def post_params
params.require(:post).permit(:title, :body, :tag_list, :image)
end
end
如果我可以补充额外的 Material 来帮助你帮助我,请告诉我。
最佳答案
从 Paperclip 版本 4.0
开始,所有附件都需要包括content_type 验证、file_name 验证,或者显式 声明他们两者都不会。
如果您不执行任何操作,Paperclip 将引发 Paperclip::Errors::MissingRequiredValidatorError
错误。
在您的情况下,您可以将以下任何行添加到您的Post
模型,在 指定has_attached_file :image
validates_attachment_content_type :image, :content_type => ["image/jpg", "image/jpeg", "image/png", "image/gif"]
-或-另一种方式
validates_attachment :image, content_type: { content_type: ["image/jpg", "image/jpeg", "image/png", "image/gif"] }
-或-另一种方式
是使用regex 来验证内容类型。
例如:要验证所有图像格式,可以指定正则表达式,如下所示
validates_attachment_file_name :image, :matches => [/png\Z/, /jpe?g\Z/, /gif\Z/]
如果出于某些疯狂的原因(可能是有效但我现在想不出一个),您不想添加任何content_type
验证并允许人们欺骗 Content-Types 并将您不期望的数据接收到您的服务器上,然后添加以下内容:
do_not_validate_attachment_file_type :image
注意:
在上面的 content_type
/matches
选项中根据您的要求指定 MIME 类型。我刚刚为您提供了一些图像 MIME 类型开始。
引用:
引用 Paperclip: Security Validations ,如果还需要验证。 :)
您可能还必须处理此处解释的欺骗验证 https://stackoverflow.com/a/23846121
关于ruby-on-rails - Paperclip::Errors::MissingRequiredValidatorError 与 Rails 4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21897725/
抱歉,我找不到适合我的情况的解决方案 我有下一个代码: class Document 5.0' # Use Uglifier as compressor for JavaScript assets
我已经将 rails 应用程序部署到 heroku,在我更改域之前它运行良好,在本地运行正常,现在我开始收到以下错误:Paperclip::Errors::MissingRequiredValidat
当我尝试通过我的 Rails 博客应用程序使用回形针上传时,我遇到了这个错误。当它说“MissingRequiredValidatorError”时不确定它指的是什么我认为通过更新 post_para
我是一名优秀的程序员,十分优秀!