1

我似乎一直在寻找让用户上传文本文件的最佳方法,让我的应用程序解析文件,然后通过 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 可以' t 读取 XHR 请求 yadda yadda。

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

4

1 回答 1

0

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

Remotipart 是一个 Ruby on Rails gem,支持在 Rails 3.0 和 Rails 3.1 远程表单中使用 jQuery 上传 AJAX 文件。这个 gem 增强了原生 Rails jQuery 远程表单功能,支持异步文件上传,几乎不需要修改您的应用程序。

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

https://github.com/JangoSteve/remotipart

http://rubygems.org/gems/remotipart

于 2012-11-11T08:58:39.727 回答