2011-03-15 27 views
0

我需要的是將本地html文件傳遞給我的表單,獲取此文件的內容並稍後解析它。 我有鑑於此使用rails獲取本地html文件的內容

= form_tag :parser, :html => {:multipart => true} do 
    = file_field_tag :html_file 
    = submit_tag 

這在控制器

def parser 
    @file = params[:html_file] 
    end 

好像形式沒有得到文件,剛剛獲得與文件名的字符串。如何解決它?

+0

ahhh,明白了,這是haml。只需要:multipart => true而不是html => {:multipart => true} – 2011-03-15 15:20:08

回答

2

我寫這個來處理Rails 2.3.x應用程序中的上傳。我不記得爲什麼我必須將它分成if/elsif/else/end語句,但我必須有一個錯誤將它合併到一個if語句中。

if %w(File Tempfile ActionController::UploadedTempfile).include?(params[:html_file].class.to_s)   
     data = params[:html_file].read 
    elsif %w(StringIO ActionController::UploadedStringIO).include?(params[:html_file].class.to_s) 
     data = params[:html_file].read 
    else 
     logger.error("File does not appear to be a valid class.") 
    end 
+0

ty,我試試這個方法 – 2011-03-15 15:22:16