2012-11-11 32 views
1

我似乎被困在找出讓用戶上傳文本文件,讓我的應用程序解析文件,然後通過ajax直接返回一些輸出的最佳方法在同一頁上。是否有捷徑可尋?上傳一個txt文件,而不使用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]方法?

回答

0

如果你要上傳文件,AJAX和導軌形式,你可以使用remotipart寶石:

Remotipart是一個Ruby on Rails的寶石使AJAX文件上傳 jQuery的對Rails 3.0和Rails 3.1遠程形式。這個gem增加了 原生Rails jQuery遠程表單功能,使得異步的 文件上傳幾乎沒有修改你的應用程序。

對我來說,它也適用於Rails 3.2。

https://github.com/JangoSteve/remotipart

http://rubygems.org/gems/remotipart

+0

這完美地工作!我所要做的只是添加remotipart gem,然後用':remote => true'標記我的表單,然後加載.js.erb而不是.html.erb。我知道這一定很簡單。再次感謝。 – JonLz

相關問題