0

我正在编写一个 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

--trace 显示:

/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。

谢谢。

4

1 回答 1

0

好的,我得到它的工作。对 CSV.open 的调用已更改:

CSV.open("temp_files/message_data.dat", "wb", :col_sep => '|')
于 2011-10-17T22:05:14.650 回答