저는 루비를 처음 사용합니다. 한 번의 클릭으로 두 개의 파일을 내보내려면 어떻게해야합니까?Ruby에서 FasterCSV를 사용하여 CSV 파일을 여러 개 만드는 방법
exsiting 버전에서는 'def stream_csv'를 호출하여 한 번에 하나의 파일 만 생성 할 수 있지만 두 파일을 가져 오기 위해 두 번 호출하려고하면 "ActionController :: DoubleRenderError (동작 당 한 번만 렌더링 또는 리디렉션 할 수 있음) : "렌더링 때문입니다.
def stream_csv
require 'fastercsv'
filename = params[:action] + ".csv"
#this is required if you want this to work with IE
if request.env['HTTP_USER_AGENT'] =~ /msie/i
headers['Pragma'] = 'public'
headers["Content-type"] = "text/plain"
headers['Cache-Control'] = 'no-cache, must-revalidate, post-check=0, pre-check=0'
headers['Content-Disposition'] = "attachment; filename=\"#{filename}\""
headers['Expires'] = "0"
else
headers["Content-Type"] ||= 'text/csv'
headers["Content-Disposition"] = "attachment; filename=\"#{filename}\""
controller.response.headers["Content-Transfer-Encoding"] = "binary"
end
render :text => Proc.new { |response, output|
csv = FasterCSV.new(output, :row_sep => "\r\n")
yield csv
}
end
end
이 가능 한 번의 클릭에서 두 개의 파일을 만들려면 여기
는 stream_csv의 소스 코드? 그렇다면 어떻게 할 수 있습니까?
감사합니다 :) – Fon
마지막으로, 나는 그것이 완벽하게 작동 얻었다를보십시오. 다시 한 번 감사드립니다! :) – Fon
도움이되기를 기쁜 마음으로, 그리고 코드를 직접 정렬하는 데 도움이됩니다. – deefour