Rails:提供文件下载的最简单方法?

问题描述:

G'day的家伙,目前已经快写完了一个允许CSV下载数据库的rails应用程序。这是在首次查看索引时生成的。Rails:提供文件下载的最简单方法?

有没有简单的方法来插入一个链接到帮助器,返回一个CSV文件?这就是说,向辅助者插入链接很容易吗?这会使我遇到很多问题变得更容易

+0

你应该接受你的一些其他的答案中,有一对夫妇的类似的问题已经在SO:http://*.com/questions/1360682/rails-csvexport-to-csv-loop/1361155 – 2010-05-09 11:31:43

如果你坚持使用一般惯例,那么你注册了一个mime类型的csv,并通过你的#index动作返回csv文件内容。所以,你的链接帮手会是这样的:

link_to 'export as csv', posts_path(:format => :csv) 

如果在交流,为您生成文件时指数是第一种观点,但不是Rails的,您可能希望避免非标准渲染和来电SEND_DATA由send_file改为(检查他们的api)。

# in your controller: 
def index 

    # your suff here 

    @csv_path = find_or_generate_csv_file 
    send_data @csv_path, :type=>"text/csv", :disposition=>'attachment' 
end 

protected 
    def find_or_generate_csv_file 
    #your file generation logic 
    end