데이터를 CSV로 내 보냅니다.fastercsv 및 CSV :: Writer (Ruby on Rails)를 사용하여 CSV로 내보내기
사용자가 드롭 다운 메뉴에서 형식을 선택할 수있는 양식이 있습니다. 따라서 형식 선택에 따라 출력은 ajax 호출을 사용하여 표시됩니다. html로 잘 작동하지만 CSV 형식을 선택하면 화면에 팝업이 표시되지 않고 (파일을 저장하거나 열지 묻는) 모든 파일이 직접 다운로드되지 않습니다.
Fastercsv를 사용했지만 (문제는 내가 파일을 저장할지 열지 묻는 팝업이 표시되지 않음) CSV :: Writer 콘솔에서이 오류 메시지가 표시되는 곳입니다.
NoMethodError (You have a nil object when you didn't expect it!
The error occurred while evaluating nil.bytesize):
actionpack (2.3.4) lib/action_controller/streaming.rb:142:in `send_data'
Fastercsv를 사용하여 코드 :
def export_to_csv
csv_string = FasterCSV.generate(:col_sep => ",") do |csv|
members = ["Versions/Project Members"]
members_selected.each {|member| members << Stat.member_name(member)}
Stat.project_members(project).each {|user| members << user.name}
csv << ["some text", "text 2", "text 3"]
end
return csv_string
end
이 내가 데이터를 보내고 방법입니다 ", 텍스트 3 텍스트, 텍스트 2"나는이 같은 응답을 볼
send_data(export_to_csv,:type => 'text/csv; charset=iso-8859-1; header=present',
:disposition => "attachment", :filename => "filename.csv")
을 firebug 콘솔에 있지만 파일을 저장하거나 열 것인지 묻는 팝업이 표시되지 않습니다.
이
내가 CSV를 사용하고있는 무슨이다 :: 작가 :def export_to_csv
report = StringIO.new
CSV::Writer.generate(report, ',') do |csv|
csv << ['c1', 'c2']
end
end
과로 전화 :
NoMethodError (You have a nil object when you didn't expect it!
The error occurred while evaluating nil.bytesize):
actionpack (2.3.4) lib/action_controller/streaming.rb:142:in `send_data'
:
send_data(export_to_csv,:type => 'text/csv; charset=iso-8859-1; header=present',
:disposition => "attachment", :filename => "filename.csv")
이 콘솔에 발생되는 오류입니다