Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 带有enctype='的表单;多部分/表单数据';导致';脚本头过早结束';错误_Html_Ruby On Rails_Forms_Apache_Passenger - Fatal编程技术网

Html 带有enctype='的表单;多部分/表单数据';导致';脚本头过早结束';错误

Html 带有enctype='的表单;多部分/表单数据';导致';脚本头过早结束';错误,html,ruby-on-rails,forms,apache,passenger,Html,Ruby On Rails,Forms,Apache,Passenger,我的Rails应用程序上的用户在创建新对象时必须附加XML文件。此操作在开发(Windows)中运行良好,但在生产(Unix)中会引发以下错误 脚本头过早结束:命名空间,referer:X.X.X/namespace/objects/new 其中X.X.X.X是IP地址 我已确定控制器操作从未到达,并且在提交表单后会出现此错误。我使用Rails的form_作为标记,如下所示: <%= form_for @object, url: new_object_path, html: { class

我的Rails应用程序上的用户在创建新对象时必须附加XML文件。此操作在开发(Windows)中运行良好,但在生产(Unix)中会引发以下错误

脚本头过早结束:命名空间,referer:X.X.X/namespace/objects/new

其中X.X.X.X是IP地址

我已确定控制器操作从未到达,并且在提交表单后会出现此错误。我使用Rails的form_作为标记,如下所示:

<%= form_for @object, url: new_object_path, html: { class: 'form-horizontal' } do |form| %>
    <%= render partial: 'form', locals: { form: form }  %>
<% end %>

并且表单部分包含此文件上载字段:

<%= form.file_field :xml, accept: '.xml', required: true %>

这将生成以下HTML:

<form accept-charset="UTF-8" action="/namespace/objects" class="form-horizontal" enctype="multipart/form-data" id="new_object" method="post">
     ...
     <input accept=".xml" id="object_xml" name="object[xml]" required="required" type="file">
     ...
</form>

...
...
对我来说,这看起来是一个完全合理的形式,但它抛出了这个奇怪的错误。如果我删除
enctype=“multipart/form data”
错误将消失,并调用控制器操作!这会产生另一个问题,控制器操作只接收文件名,而不是上载的文件本身,但是,嘿,至少我们现在正在执行控制器操作,我已经查明了问题所在

所以我的问题是:为什么这个看似合理的、自动生成的Rails表单及其enctype字段会导致抛出这个(非常模糊和没有帮助的)错误

这是我们正在使用的软件

  • 飞信客运4.0.41
  • Apache/2.2.15(Unix)
  • Red Hat Enterprise Linux Server 6.2
  • 厨师长10.24.0
  • Ruby 1.9.3
  • 轨道4.1.4
  • JRuby 1.7.16

看起来好像是Apache配置问题,这正是我所想的,但我对Apache的基本知识不太熟悉,所以我不确定需要在配置中包含或删除哪些内容。我是否需要以某种方式允许文件上载?在互联网上搜索并没有提供太多的见解。我使用Nginx+Puma,所以不确定。Google向我展示了这个,不确定是否相关:这看起来是一个文件上传的进度跟踪程序,似乎与这个问题无关。看起来是Apache配置问题,这是我的想法,但除了基本知识外,我对Apache不太熟悉,所以我不确定我需要在配置中包含或删除什么。我是否需要以某种方式允许文件上载?在互联网上搜索并没有提供太多的见解。我使用Nginx+Puma,所以不确定。谷歌向我展示了这个,不确定是否相关:这看起来是一个文件上传的进度跟踪程序,似乎与这个问题无关。