Ruby on rails Rails调用lib/tasks文件夹中的任务
我在lib/tasks文件夹中有一个backup.rake文件 任务如下所示:Ruby on rails Rails调用lib/tasks文件夹中的任务,ruby-on-rails,ruby,ruby-on-rails-4,Ruby On Rails,Ruby,Ruby On Rails 4,我在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" def method %x[rake ra
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"
def method
%x[rake rake backup:mysqldump]
redirect_to root_path
end
现在我想从这样的控制器调用它:
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"
def method
%x[rake rake backup:mysqldump]
redirect_to root_path
end
但我有一个错误:
sh: 1: backup:mysqldump: not found
有什么问题?我做的和其他任务完全一样 应该是这样的
system "RAILS_ENV="+Rails.env+" rake backup:mysqldump"
“rake之间的空格应该是这样的
system "RAILS_ENV="+Rails.env+" rake backup:mysqldump"
在控制器中,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"
def method
%x[rake rake backup:mysqldump]
redirect_to root_path
end
在控制器中,您可以这样使用:
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"
def method
%x[rake rake backup:mysqldump]
redirect_to root_path
end
请尝试以下命令:
Rake::Task['task_name'].invoke(args)
请尝试以下命令:
Rake::Task['task_name'].invoke(args)