ruby-on-rails - 在 Controller 中运行 rake 任务

标签 ruby-on-rails ruby rake

我想在我的 Controller 中运行一个 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。

关于ruby-on-rails - 在 Controller 中运行 rake 任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1170148/

相关文章:

mysql - Ruby on Rails-迁移数据库时出现套接字错误

ruby-on-rails - rake db:migrate 失败,错误为 :"rake aborted! undefined method ` deprecate' for #<Rake::Application:0x1e0c6c0>"

ruby-on-rails - 如何清除 Ruby 中的内存缓存?

ruby-on-rails - 错误 : mime-types-data requires Ruby version >= 2. 0

ruby-on-rails - 如何获取给定内容类型的默认扩展名?

ruby - 无法在 JRuby 中安装 therubyracer

ruby-on-rails - 如何使用 Ruby on Rails 形式获取 "get"

ruby-on-rails - 如何找出现有 Rails 项目基于哪个 Ruby 版本?

ruby-on-rails - 如何在 Rails View 中使用 Ruby 常量?

带 Rake 的 RubyMine 调试器?