【发布时间】:2016-09-03 10:57:40
【问题描述】:
提交简单的多部分表单时,服务器崩溃并显示“内部服务器错误”。 我已将表格缩小到最小:
<%= form_for @media_object, :html => {:multipart => true} do |f| %>
<%= f.file_field :media_object_image %>
<%= f.submit "Create!" %>
<% end %>
日志跟踪:
错误 ArgumentError: 意外前缀: {"RackMultipart"=>nil, ""=>nil} /Users/christer/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/tmpdir.rb:111:in `make_tmpname' /Users/christer/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/tmpdir.rb:129:in `create' /Users/christer/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/tempfile.rb:132:in `initialize' /Users/christer/.rvm/gems/ruby-2.3.0@teamhubs4/gems/rack-1.6.4/lib/rack/multipart/parser.rb:22:in `new' /Users/christer/.rvm/gems/ruby-2.3.0@teamhubs4/gems/rack-1.6.4/lib/rack/multipart/parser.rb:22:in `block in create' /Users/christer/.rvm/gems/ruby-2.3.0@teamhubs4/gems/rack-1.6.4/lib/rack/multipart/parser.rb:135:in `get_current_head_and_filename_and_content_type_and_name_and_body' /Users/christer/.rvm/gems/ruby-2.3.0@teamhubs4/gems/rack-1.6.4/lib/rack/multipart/parser.rb:59:in `block in parse' /Users/christer/.rvm/gems/ruby-2.3.0@teamhubs4/gems/rack-1.6.4/lib/rack/multipart/parser.rb:56:in `loop' /Users/christer/.rvm/gems/ruby-2.3.0@teamhubs4/gems/rack-1.6.4/lib/rack/multipart/parser.rb:56:in `parse' /Users/christer/.rvm/gems/ruby-2.3.0@teamhubs4/gems/rack-1.6.4/lib/rack/multipart.rb:25:in `parse_multipart' /Users/christer/.rvm/gems/ruby-2.3.0@teamhubs4/gems/rack-1.6.4/lib/rack/request.rb:375:in `parse_multipart' /Users/christer/.rvm/gems/ruby-2.3.0@teamhubs4/gems/rack-1.6.4/lib/rack/request.rb:207:in `POST'由于打开的多部分文件的最大数量,谷歌搜索会发现 Rails 4.2 的多部分提交问题,但这肯定是不同的。
我正在运行带有 Ruby 2.3 的 Rails 4.2.6。
【问题讨论】:
-
您的错误消息和堆栈跟踪与 imgur issue #4 上发布的非常相似。如果在 Gemfile 中引用了 imgur,您可能想尝试从 Gemfile 中删除它。
标签: ruby-on-rails multipart server-error