получить содержимое локального html файла с рельсами - PullRequest
0 голосов
/ 15 марта 2011

мне нужно передать локальный html-файл в мою форму, получить содержимое этого файла, а затем проанализировать его. Я имею это в виду

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

И это в контроллере

  def parser
    @file = params[:html_file]
  end

Похоже, что форма не получает файл, просто получить строку с именем файла. Как это исправить?

1 Ответ

2 голосов
/ 15 марта 2011

Я написал это для обработки загрузок в приложении 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
...