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

发布于 2024-12-10 06:39:39 字数 699 浏览 1 评论 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。

谢谢。

I am writing a rake task to output data from database and upload to ftp server.

The following seems to work:

require 'csv'

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

Now, to access a model, I seem to need

task :export => :environment do

This causes the code to fail:

rake aborted!
can't convert String into Integer

--trace shows:

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

How to use CSV Writer from a task and access a model?

Working in Ruby 1.9.2, Rails 3.0.7.

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

逆蝶 2024-12-17 06:39:39

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

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

OK, I got it working. The call to CSV.open has changed:

CSV.open("temp_files/message_data.dat", "wb", :col_sep => '|')
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文