在Rails 3中导出文本

时间:2012-08-14 10:20:31

标签: ruby-on-rails ruby-on-rails-3 export

我需要将一些数据导出到文本文件中。我搜索了一下,我似乎找不到任何有用的和最新的。我已经使用pdfkit和csv将数据导出到pdf和csv文件,所以我不知道是否可以使用其中任何一个来制作文本。有人有这个问题,最近找到了解决方案吗?

修改

我的问题有点模糊,我会详细说明。我需要像CSV.generate那样做。为寄存器中的每个属性值添加行。我找到了寄存器,我将它存储在一个变量中,然后我需要在文本文件中将每个值“添加”为一行。通过寄存器的属性循环的部分我发现它工作,我不知道是如何复制它。那是我被卡住的部分。

编辑2

我最终传递了一个寄存器的所有属性的数组并将其保存在局部变量中,然后我按照你的建议完成了它的工作。

3 个答案:

答案 0 :(得分:1)

快速搜索: http://railsforum.com/viewtopic.php?id=37888

@content = "Hello World"
send_data @content,
  :type => 'text',
  :disposition => "attachment; filename=your_file_name.txt"

另见http://api.rubyonrails.org/classes/ActionController/Streaming.html

答案 1 :(得分:1)

为了在文本字段中导出/写入内容。首先,您需要使用写入模式打开文本文件,然后需要将数据写入其中。

file = File.open("/home/sandip/myfile.txt", "w")
file.write "this is how text file can be written"
file.close

file = File.open("/home/sandip/myfile.txt")
file.read #=> this is how text file can be written

如果你需要将数据库记录导出到csv文件,那么就可以使用csv库了。click here

答案 2 :(得分:0)

它与其他文件格式类似 - 导出

试试这个

def download_textfile
  @content = get_content
  send_data @content,:type => 'text',:disposition => "attachment; filename=file_name.txt"
end