2012-01-22 6 views
-1

문자열로 채워진 배열 (@bigtable)이 있는데 배열의 모든 행이 별도의 줄이되는 파일에 저장하려고합니다. 여기에 파일 저장을위한 코드가 있습니다 :배열을 txt 파일로 저장

def savefile 
    @bigtable = Rails.cache.read("pass") 
    doc = "wyniki.csv" 
    File.open(doc, "w", :type => 'text/html; charset=utf-8'){ |f| f << @bigtable} 
    send_file(doc, :disposition => 'attachment') 
    end 

아이디어가 있으십니까?

+0

그런데 다른 곳에 @bigtable을 사용하지 않는 경우 인스턴스 변수 대신 @bigtable 대신 bigtable을 사용해야합니다. – Jef

답변

0

실제 질문은 무엇입니까? 배열 쓰기?

f << @bigtable.join("\n") 

(실제로 큰, 그리고 메모리 문제가 발생하는 경우, 그것을 한 줄 한 줄 쓰기.)

그것을 왜 "text/html"에 종류를 설정, CSV 파일이라면? "text/csv"이 더 적절할까요?

+0

나는 너무 어리 석다. 나는 루프에서 그것을하고 있었고 작은 따옴표를 사용하여'\ n'을 추가했다. - 그게 문제였다.하지만 고마워! 당신의 해결책은 더 짧습니다;) – mrmnmly

+0

@ofcapl 문제 없습니다. 작은 따옴표는 문제가되지 않아야합니다. 어느 쪽이든 작동합니다. –

+0

하지만 모든 것이 한 줄로 쓰여졌고'\ n'이 텍스트로있었습니다. – mrmnmly

2
... 
File.open("wyniki.csv", "w") do |f| 
    @bigtable.each do |row| f << row end 
end 
... 
+0

Dave의 대답에 언급 한 것은 내 해결책이었습니다.) – mrmnmly

관련 문제