Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 使用rails获取本地html文件的内容_Ruby On Rails_Parsing_File_Local - Fatal编程技术网

Ruby on rails 使用rails获取本地html文件的内容

Ruby on rails 使用rails获取本地html文件的内容,ruby-on-rails,parsing,file,local,Ruby On Rails,Parsing,File,Local,我需要的是将本地html文件传递到我的表单,获取该文件的内容,然后解析它。 我有这个打算 = form_tag :parser, :html => {:multipart => true} do = file_field_tag :html_file = submit_tag 这个在控制器中 def parser @file = params[:html_file] end 似乎表单不获取文件,只获取带有文件名的字符串。如何修复它?我写这篇文章

我需要的是将本地html文件传递到我的表单,获取该文件的内容,然后解析它。 我有这个打算

  = form_tag :parser, :html => {:multipart => true} do
    = file_field_tag :html_file
    = submit_tag
这个在控制器中

  def parser
    @file = params[:html_file]
  end

似乎表单不获取文件,只获取带有文件名的字符串。如何修复它?

我写这篇文章是为了在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

啊,明白了,是哈姆。只需要:multipart=>true而不是html=>{:multipart=>true}