Ruby on rails 3.2 使用Remotipart上传Ajax文件用于开发,在heroku上使用406

Ruby on rails 3.2 使用Remotipart上传Ajax文件用于开发,在heroku上使用406,ruby-on-rails-3.2,carrierwave,jquery-file-upload,remotipart,Ruby On Rails 3.2,Carrierwave,Jquery File Upload,Remotipart,我在一个页面上有一系列远程表单,每个表单都应该能够在更新或创建对象时上载文件。我已经在开发过程中进行了彻底的检查和测试,只要我使用Remotipart,它就可以正常工作 然而,今天早上,我将我的更改推送到Heroku上的暂存服务器上,当我尝试通过文件上传提交其中一个表单时,服务器会给出406不可接受的响应。因此,在这里我的页面没有得到更新,因为我没有从服务器获得预期的js模板响应。然而,如果我重新加载页面,我试图上传的文件就会显示得很好 表单是使用simple_表单创建的(带有remote:tr

我在一个页面上有一系列远程表单,每个表单都应该能够在更新或创建对象时上载文件。我已经在开发过程中进行了彻底的检查和测试,只要我使用Remotipart,它就可以正常工作

然而,今天早上,我将我的更改推送到Heroku上的暂存服务器上,当我尝试通过文件上传提交其中一个表单时,服务器会给出
406不可接受的
响应。因此,在这里我的页面没有得到更新,因为我没有从服务器获得预期的js模板响应。然而,如果我重新加载页面,我试图上传的文件就会显示得很好

表单是使用simple_表单创建的(带有
remote:true
),我使用Carrierwave和Fog将文件上传到S3(也在开发中测试过,所以我认为不是这样)

据我所知,网络检查器显示了相同类型的数据。我看不到在请求有效负载方面有显著差异

我不知道我做错了什么(如果有的话)。有没有其他人经历过这种情况,或者可能知道出了什么问题

更新


所以我至少想出了一件事。我的控制器只处理
js
格式请求。我通过重定向到另一个路径来处理
html
格式化请求,该页面的html现在作为ajax响应发送回来。我似乎不明白的是,当开发和登台的内容类型和所有内容似乎都相同时,为什么会以错误的格式发送/呈现响应。

Welp,我解决了这个问题。结果是javascript被包括在内,但没有中间件。仔细检查后,我发现我的一些gem被放在Gemfile中的
资产
组中,这将包括在开发环境中,但不包括在生产中


我已将remotipart移出资产组,现在一切正常。

已将remotipart.js包含在application.js中,并已编译并包含在所需页面中。我搜索了加载的js,它被包括在内。