2011-06-13 8 views
0

rails (paperclip 사용)에 파일을 업로드하려고하는데 클립 클립이 s3 저장소로 보내지기 전에 파일 데이터 일부를 처리하려고합니다. 내 컨트롤러에서, 난 그냥 파일 매개 변수를 잡아 (나에게 파일을 제공 않습니다) 그리고 나는 문제가클립 클립으로 업로드하기 전에 파일의 줄을 읽는 레일

csv_file = params[:activity][:data] 

array = IO.readlines(csv_file.path) 

, 난 단지의 마지막 줄을 얻고 배열로 라인을 읽으려고 파일. 나는 .rewind를 사용해 보았지만, 여전히 마지막 행만 얻는다.

답변

0

필자는 readline을 싫어하고 항상 정규 표현식을 사용합니다. 이 시도. 라인의 끝 - \ n

0

핸디 블록 구조는 파일 핸들이 닫혀 있는지 확인합니다 :

File.open(csv_file.path) do |f| 
    a = f.readlines 
    process a... 
end 

파일의 크기에 따라 좋은 생각되지 않을 수도 있습니다 메모리에 전체 파일을 읽기.

+0

감사하지만 같은 문제가 계속 발생합니다. [0]은 파일의 마지막 줄을 제공하고 [1]은 아무 것도 반환하지 않습니다. 나는 클립과 관련이 있다고 생각합니다 : / –

관련 문제