我想在我的控制器中运行 rake 任务。有什么办法可以做到这一点吗?
我同意 ddfreynee 的观点,但如果你知道你需要什么,代码可能如下所示:
require 'rake'
Rake::Task.clear # necessary to avoid tasks being loaded several times in dev mode
Sample::Application.load_tasks # providing your application name is 'sample'
class RakeController < ApplicationController
def run
Rake::Task[params[:task]].reenable # in case you're going to invoke the same task second time.
Rake::Task[params[:task]].invoke
end
end
您可以在初始化程序中要求 'rake' 和 .load_tasks 。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)