Ruby on rails 3 将记录导出到CSV

Ruby on rails 3 将记录导出到CSV,ruby-on-rails-3,csv,export-to-csv,Ruby On Rails 3,Csv,Export To Csv,我在Rails 3.0.10应用程序中有一个Posts表。我想让我的用户选择将特定的Post记录导出为CSV格式,而不是全部。虽然我的Post表有很多字段,但我只想导出标题和正文 在进行一些搜索之后,显然最好的方法是通过FasterCSV。显然,它已经内置在Ruby 1.9.2中,我正在使用它。问题是,几乎所有的教程都过时了(来自Rails 1或2),我完全不知道如何做到这一点 我已经试着在我的帖子中添加了\u controller.rb def export_to_csv @post =

我在Rails 3.0.10应用程序中有一个Posts表。我想让我的用户选择将特定的Post记录导出为CSV格式,而不是全部。虽然我的Post表有很多字段,但我只想导出标题和正文

在进行一些搜索之后,显然最好的方法是通过FasterCSV。显然,它已经内置在Ruby 1.9.2中,我正在使用它。问题是,几乎所有的教程都过时了(来自Rails 1或2),我完全不知道如何做到这一点

我已经试着在我的帖子中添加了\u controller.rb

def export_to_csv 
  @post = Post.find(params[:id])
     csv_string = CSV.generate do |csv| 
    csv << [@post.title, @post.body] 
  end 

# send it to the browsah
send_data csv_string, 
          :type => 'text/csv; charset=iso-8859-1; header=present', 
          :disposition => "attachment; filename=post.csv" 
end
def导出到csv
@post=post.find(参数[:id])
csv_string=csv.generate do|csv|
csv的文本/csv;字符集=iso-8859-1;标题=当前',
:disposition=>“附件;文件名=post.csv”
结束
我认为这可能是正确的代码,但在我看来,我不知道如何使用它。理想情况下,我希望有一个链接来导出CSV文件,但我认为这必须通过一个form_标签来完成


如果有人能给我指出正确的方向,我将不胜感激。谢谢。

经过几个小时的谷歌搜索和实验,我找到了答案

1.)安装此gem:

2.)将
respond_to do | format | format.csv
添加到要转换为csv的操作中(在我的例子中,posts_控制器的
def show
部分)


3.)创建一个action.csv.csvbuilder文件(在我的例子中是show.csv.csvbuilder)并添加您需要的数据(在我的例子中是add
csv),这个链接可以帮助您在另一个小时的搜索和实验后找到它。我会尽快发布解决方案。