Find file
Fetching contributors…
Cannot retrieve contributors at this time
52 lines (31 sloc) 1.19 KB

Export to CSV on Rails

This simple plugin gives you the ability to call to_csv to a collection of activerecords. The builder options are the same as to_json / to_xml, except for the :include.

Getting Started

In your Gemfile:

gem 'to_csv-rails'# Last officially released gem
# gem "to_csv-rails", :git => "git://" # Track git repo

or, to install as a gem:

gem install to_csv-rails

or, to install as a plugin:

rails plugin install git://

In your controller:

def index
  @posts = Post.all

  respond_to do |format|
    format.csv { send_data(@posts.to_csv) }
    # format.csv {
    #   filename = "Posts-#{"%Y%m%d%H%M%S")}.csv"
    #   send_data(@posts.to_csv, :type => "text/csv; charset=utf-8; header=present", :filename => filename)
    # }

In your view:

<%= link_to 'CSV Download', posts_path(:format => :csv %>

Advanced usage

@posts.to_csv(:only => [:title, :body])
@posts.to_csv(:except => [:id])
@posts.to_csv(:header => false)


Copyright © 2010, released under the MIT license