我似乎停留在找出让用户上传文本文件的最佳方法,让我的应用程序解析文件,然后通过ajax将一些输出直接返回到同一页面上。有一个简单的方法吗?
我一直在使用以下内容并且它运行得非常好但我无法使用ajax。
这是视图文件 - index.html.erb
<%= form_tag 'log/new', :multipart => true do %>
<label for="file">Please upload a log file to continue</label> <%= file_field_tag "file" %>
<%= submit_tag ('Upload')%>
<% end %>
然后我可以使用params[:file]
在我的控制器中播放结果就好了,但是当我将:remote => true
添加到我的表单时,它不会让我做任何AJAX或运行我的.js。 erb视图文件,大概是出于安全原因,因为js无法读取XHR请求yadda yadda。
我也尝试了CarrierWave
和jquery-fileupload-rails
宝石,但我不想先将它保存到数据库中,载波似乎想要做,而jquery-fileupload似乎也是这样做的。无论如何,即使我使用其中一个宝石上传/保存到db的文件 - 我如何能够使用params[:file]
方法访问内容?
答案 0 :(得分:0)
如果您想使用AJAX和rails表单上传文件,可以使用remotipart
gem:
Remotipart是一个Ruby on Rails gem,支持AJAX文件上传 Rails 3.0和Rails 3.1远程表单中的jQuery。这颗宝石增加了 本机Rails jQuery远程表单功能实现异步 文件上传,几乎不需要修改您的应用程序。
对我来说,它也适用于Rails 3.2。