我的 Rails 应用程序中有 rake 任务。我想在 rake 任务中运行命令行命令。我怎样才能做到这一点。我尝试了以下方法但失败了
desc "Sending the newsletter to all the users"
task :sending_mail do
run "cd #{RAILS_ROOT} && ar_sendmail -o -t NewsLetters -v"
system "cd #{RAILS_ROOT} && ar_sendmail -o -t NewsLetters -v &"
end
上面的运行命令抛出 run method undefined & System command 不抛出任何错误但未执行。
Rake sh http://ruby-doc.org/stdlib-2.1.1/libdoc/rake/rdoc/FileUtils.html#method-i-sh内置任务
这可能是最好的方法:
task(:sh) do
sh('echo', 'a')
sh('false')
sh('echo', 'b')
end
界面类似于Kernel.system
but:
- 如果返回 != 0,它就会中止,因此上面的内容永远不会达到
echo b
- 命令本身在输出之前回显
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)