我需要的是将本地html文件传递给我的表单,获取此文件的内容,然后解析它。 我有这个视野
= form_tag :parser, :html => {:multipart => true} do
= file_field_tag :html_file
= submit_tag
这在控制器中
def parser
@file = params[:html_file]
end
似乎表单没有获取文件,只需获取文件名称的字符串。如何解决?
答案 0 :(得分: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