升级至Rails 7后提交大表单报错:Maximum total multiparts in content reached
Rails 7提交大表单报"Maximum total multiparts in content reached"的解决办法
升级到Rails 7后遇到这个报错,是因为Rails 7默认依赖的Rack 3.x重构了multipart请求的限制参数,之前用的multipart_part_limit已经被废弃,所以设置它没用。
解决步骤:
- 直接在Rails配置里设置新的限制参数,比如在
config/application.rb里添加:# 按需调整数值,比如总parts数设为1000,文件parts数设为100 Rails.application.config.action_dispatch.multipart_total_limit = 1000 Rails.application.config.action_dispatch.multipart_file_limit = 100 - 或者通过Rack中间件配置:
config.middleware.use Rack::Parser, { multipart_total_limit: 1000, multipart_file_limit: 100 }
注意:multipart_total_limit是表单所有字段(包括普通输入框、文件上传框)的总数量,multipart_file_limit是仅文件上传字段的数量,根据你表单的实际规模调整数值即可。
内容的提问来源于stack exchange,提问作者mahi-man
相关产品推荐
相关产品推荐

