1

最终我想把它设置为一个 Rake 任务并做一个 cron 工作,但是现在......我想做的就是把我曾经作为独立脚本工作的 ruby​​ 脚本让它在其中工作我的 Rails 应用程序。

我将文件重命名为 is.rake而不是.rb并尝试rake my_script在命令行中执行,但这给了我这个错误消息:

rake aborted!
Don't know how to build task 'my_script'

(See full trace by running task with --trace)

如何在我的 Rails 环境中运行此脚本?

这是我第一次做这样的事情,所以任何帮助将不胜感激。

谢谢。

4

2 回答 2

3

我认为您正在寻找的是rails runner。我知道在 Rails 2.3.x 中你会这样做

ruby script/runner <your file>

在 Rails 3 中可能会略有不同。

http://guides.rubyonrails.org/command_line.html#rails-runner

于 2012-06-02T22:36:47.530 回答
1

runner 和 rake 任务之间的主要区别是:runner 会启动 rails 而 rake 任务不会(你可以告诉它这样做)。

由于 rake 两者都可以(启动/不启动),所以 rails-3 中不再有 runner 的概念。

因此,创建一个 rake 任务:whatever_name.rake

例子:

desc "This task does awesome stuff"
  task :do_awesome_stuff do
  awesome_method
end

def awesome_method
  #put your ruby code here
end

现在从您的命令提示符处,键入rake do_awesome_stuff以执行此 rake 任务。

要使其启动 Rails,请将任务定义更改为:

task :do_awesome_stuff => :environment do
于 2012-06-02T23:15:35.797 回答