Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/55.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
Ruby on rails 错误406,远程:true Ajax表单仍在导致重定向_Ruby On Rails_Ruby On Rails 3_Jquery - Fatal编程技术网

Ruby on rails 错误406,远程:true Ajax表单仍在导致重定向

Ruby on rails 错误406,远程:true Ajax表单仍在导致重定向,ruby-on-rails,ruby-on-rails-3,jquery,Ruby On Rails,Ruby On Rails 3,Jquery,这让我一整天都很为难 我的应用程序提供文档上传功能,上传后运行create.js.erb并将新记录添加到页面中 我的HTML看起来像这样 <div id="doc_upload"> <%= form_for Document.new, remote: true do |f| %> <%= f.file_field :file, multiple: true, name: "document[file]" %> <%= f.hidden_fie

这让我一整天都很为难

我的应用程序提供文档上传功能,上传后运行create.js.erb并将新记录添加到页面中

我的HTML看起来像这样

<div id="doc_upload">
  <%= form_for Document.new, remote: true do |f| %>
  <%= f.file_field :file, multiple: true, name: "document[file]" %>
  <%= f.hidden_field :plot_id %>
  <%= f.submit 'upload' %>
  <% end %>
</div>
我的控制器是:

def create
  @document = Document.create(params[:document])
  respond_to do |format|
    format.js
  end
end
正如我所说,这真的让我抓狂,因为Ajax请求似乎没有启动。这是否意味着这可能与不引人注目的JS有关,而不是拾取远程真实数据类型。这是我能想到重定向的唯一原因

如果是,我如何确认和修复此问题

任何帮助都会很好

Ross

如果表单中有文件上传,则必须添加


但是

您不能使用ajax发布多部分表单,因此表单可能只是正常发布,导致406响应,因为您的控制器只响应js请求。至于它为什么会以某种方式上传文件,这更是一个谜。这将是我的jquery文件上传。。。嗯,这真的很有帮助,谢谢你的建议
def create
  @document = Document.create(params[:document])
  respond_to do |format|
    format.js
  end
end