上传txt文件而不使用ajax将其保存到数据库

时间:2012-11-11 06:24:29

标签: ruby-on-rails

我似乎停留在找出让用户上传文本文件的最佳方法,让我的应用程序解析文件,然后通过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。

我也尝试了CarrierWavejquery-fileupload-rails宝石,但我不想先将它保存到数据库中,载波似乎想要做,而jquery-fileupload似乎也是这样做的。无论如何,即使我使用其中一个宝石上传/保存到db的文件 - 我如何能够使用params[:file]方法访问内容?

1 个答案:

答案 0 :(得分:0)

如果您想使用AJAX和rails表单上传文件,可以使用remotipart gem:

  

Remotipart是一个Ruby on Rails gem,支持AJAX文件上传   Rails 3.0和Rails 3.1远程表单中的jQuery。这颗宝石增加了   本机Rails jQuery远程表单功能实现异步   文件上传,几乎不需要修改您的应用程序。

对我来说,它也适用于Rails 3.2。

https://github.com/JangoSteve/remotipart

http://rubygems.org/gems/remotipart