получение текста из файла, загруженного с помощью скрепки - PullRequest
1 голос
/ 03 мая 2011

У меня очень простая загрузка файла для текстового файла с использованием скрепки.

Что я хочу сделать, так это получить первую строку текстового файла и превратить его в хеш, который я могу искать в базе данных.

Не думаю, что имеет смысл сохранять файл, затем извлекать его, создавать хэш, а затем сохранять его снова.

Не могу понять, как получить текст вложенного файла перед сохранением.

мой контроллер на данный момент довольно прост


def create 
     @upload = Upload.new(params[:upload])
     @upload.user_id=current_user.id
    #get the first line of the uploaded file

   if @upload.save
      redirect_to @upload, :notice =>'Successfully uploaded file."
      else 
      render :action => 'new'
      end
end

Просматривая документацию, я увидел, что у скрепки есть файл to_tempfile, который, как я предполагаю, я могу прочитать в строку, но я не могу найти нигде, который показывает мне, как это сделать.

1 Ответ

2 голосов
/ 04 мая 2011

Если params[:upload] - это file_field_tag в вашей форме, тогда проще обойти Paperclip и получить первую строку файла напрямую с помощью Rails, просто сделайте это:

first_line = params[:upload].tempfile.readline
...