[英]How do I access one of my models from within a ruby script in the /lib/ folder in my Rails 3 app?
[英]How do I run a ruby script, that I put in my /lib/tasks/ directory in my Rails app, once?
最终我想把它设置为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环境中运行此脚本?
这是我第一次做这样的事情,所以非常感谢任何帮助。
谢谢。
我认为你正在寻找的是rails runner。 我知道在Rails 2.3.x中你会这样做
ruby script/runner <your file>
在Rails 3中,它可能略有不同。
http://guides.rubyonrails.org/command_line.html#rails-runner
跑步者和耙子任务之间的主要区别是:跑步者会引导铁路而耙子任务没有(你可以告诉它这样做)。
由于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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.