2012-11-01 2 views
4

레일에서 이것을 수행 할 수 있는지 궁금합니다.파일을 동적으로 생성하여 사용자 컴퓨터에 다운로드

웹 페이지에 링크가 있습니다. 사용자가 링크를 클릭하면 컨트롤러는 파일을 동적으로 생성합니다 (예 : 1에서 10 사이의 임의의 숫자가 포함 된 텍스트 파일). 파일이 사용자 컴퓨터로 다운로드됩니다. 파일은 서버에 임시로 저장 될 수 있지만 영구적으로 존재해서는 안됩니다. 컨트롤러의

답변

3

네, 가능하다고 할 수 있습니다.

download 조치가 양식에서 제출 PARAMS을 소요하고, 몇 개의 파일을 생성하는 우편으로 그들을 패키지 사용자 정의 클래스로 전송하고,
class DownloadsController < ApplicationController 

    def download 
    # ... 
    send_file CSVConstructor::Constructor.new(...).to_zip 
    end 

end 

파일을 반환이 내 애플 리케이션 중 하나에있는 것입니다 통로. 자신의 앱을위한 파일을 생성하는 가장 좋은 방법을 찾아야하지만 유사한 기능을 별도의 클래스로 분기하면 컨트롤러가 계속 켜져있을 수 있습니다.

+0

답변 해 주셔서 감사합니다. – John

관련 문제