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

时间:2010-05-09 11:22:49

标签: ruby-on-rails helper fastercsv

G'day伙计们,目前几乎已经完成了一个允许CSV下载数据库的rails应用程序。首次查看索引时会生成此消息。

是否有一种简单的方法可以将链接插入到返回CSV文档的帮助程序中?也就是说,向助手插入链接是否容易?这会让很多问题变得更容易

2 个答案:

答案 0 :(得分:2)

如果您坚持一般约定,那么您为csv注册了mime-type并通过#index操作返回csv文件内容。所以你的链接助手就是这样的:

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

答案 1 :(得分:0)

作为交换,如果您的文件是在第一次查看索引但不是BY 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