我在lib / tasks文件夹中有一个backup.rake文件
任务看起来像这样:
require 'find'
namespace :backup do
desc "Backup the database to a file."
task :mysqldump => [:environment] do
end
end
现在我想从这样的控制器中调用它:
system "RAILS_ENV="+Rails.env+"rake backup:mysqldump"
但我收到了这个错误:
sh: 1: backup:mysqldump: not found
有什么问题?我对其他任务完全一样......
答案 0 :(得分:2)
应该是这样的
system "RAILS_ENV="+Rails.env+" rake backup:mysqldump"
" rake
答案 1 :(得分:1)
在控制器中你可以像这样使用:
def method
%x[rake rake backup:mysqldump]
redirect_to root_path
end
答案 2 :(得分:1)
尝试此命令:
Rake::Task['task_name'].invoke(args)