2011-03-15 64 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