最终我想把它设置为Rake任务并做一个cron工作,但是现在......我想做的就是把我以前用作独立脚本的ruby脚本放在一起它在我的Rails应用程序中工作。
我将文件重命名为.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环境中运行此脚本?
这是我第一次做这样的事情,所以非常感谢任何帮助。
感谢。
答案 0 :(得分:3)
我认为你正在寻找的是rails runner。我知道在Rails 2.3.x中你会做什么
ruby script/runner <your file>
在Rails 3中,它可能略有不同。
http://guides.rubyonrails.org/command_line.html#rails-runner
答案 1 :(得分:1)
跑步者和佣金任务之间的主要区别在于:跑步者会在rake任务没有的情况下启动rails(你可以告诉它这样做)。
由于rake可以同时执行(boot / no boot),因此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