如何在rake任务中使用CSV Writer?

时间:2011-10-17 17:58:34

标签: ruby ruby-on-rails-3 csv rake-task

我正在编写一个rake任务来从数据库输出数据并上传到ftp服务器。

以下似乎有效:

require 'csv'

task export do
  CSV.open("temp_files/message_data.dat", "wb", '|') do |csv|
    csv << ['foo', 'bar', baz']      
  end
end

现在,要访问模型,我似乎需要

task :export => :environment do

这会导致代码失败:

rake aborted!
can't convert String into Integer

- 跟踪显示:

/home/baller/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/csv.rb:1335:in `initialize'
/home/baller/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/csv.rb:1335:in `open'

如何从任务中使用CSV Writer并访问模型?

使用Ruby 1.9.2,Rails 3.0.7。

感谢。

1 个答案:

答案 0 :(得分:0)

好的,我明白了。对CSV.open的调用已更改:

CSV.open("temp_files/message_data.dat", "wb", :col_sep => '|')