我正在使用 rake 运行一个任务的 Rails 2.3.2 应用程序。
这是我的代码的一部分:
application_controller.rb
def call_rake(task, options = {})
options[:rails_env] ||= Rails.env
args = options.map { |n, v| "#{n.to_s.upcase}='#{v}'" }
system "/usr/bin/rake #{task} #{args.join(' ')} start"
end
运行线路时:
system "/usr/bin/rake #{task} #{args.join(' ')} start"
它不运行任务并说:
The system cannot find the file specified.
我在 Windows 上运行它并且已经不得不更改 & 开始,这是与 Windows 相关还是我遗漏了什么?
其他一些代码:
forbidden_file.rake
desc "Process CSV file"
task :process_file => :environment do
forbidden_file = ForbiddenFile.find(ENV["csv"])
forbidden_file.upload_file
end
控制器
...
call_rake :process_file, :csv => params[:files]
redirect_to forbidden_files_url
...