这让我整天都难过。
我的应用程序提供上传文档,上传后运行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>
我在documents目录中有一个create.js.erb文件。我目前正在使用JQuery文件上传,拖放文件上传不会引起任何问题。但是,当我使用此表单手动选择文件并上传时,我得到:
标题如下。
Request URL:http://localhost:3000/documents
Request Method:POST
Status Code:406 Not Acceptable
Request Headersview source
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8}
我的控制器是:
def create
@document = Document.create(params[:document])
respond_to do |format|
format.js
end
end
正如我所说,这真让我挠头,因为Ajax请求似乎没有被解雇。这是否意味着它可能与不引人注目的JS没有拿起远程真实数据类型有关。这是我能想到重定向的唯一原因。
如果是这样,我如何确认并解决此问题?
任何帮助都会很棒。
罗斯