2017-04-11 115 views
0

我想通过ajax调用上传并渲染一个csv,但我收到了这个错误:“ActionController :: UnknownFormat”。我做错了什么?上传文件ajax调用

控制器:

class HomesController < ApplicationController 
    def index 
    @items = [] 
    end 

    def upload 
    myfile = params[:file] 
    @items = CSV.read(myfile.path) 
    respond_to do |format| 
     format.js 
    end 
    end 
end 

查看:

<%= form_tag(homes_upload_path, multipart: true, remote: true, :authenticity_token => true) do %> 
    <%= file_field_tag :file %> 
    <%= submit_tag("Import") %> 
<% end %> 

<div> 
    <div id="items_grid" > 
    <%= render partial: 'items_list', locals: {items: @items} %> 
    </div> 
</div> 

upload.js.erb:

$("#items_grid").html("<%= escape_javascript(render partial: 'items_list', locals: { items: @items }) %>"); 
+0

远程真不会在图像的情况下工作,更好地利用 'remotipart' 宝石。 – abhsss96

+0

ActionController :: UnknownFormat在/ homes/upload ActionController :: UnknownFormat @ abhsss96 – lolix

回答

1

Rails的远程真正在附件的情况下,不支持。请使用'remotipart'gem来实现此功能。

gem 'remotipart', '~> 1.2' 

bundle install 

//= require jquery.remotipart 

Remotipart Gem