Ruby-on-rails – Run rake task in controller


I'd like to run a rake task in my controller. Is there any way to do this?

Best Answer

I agree with ddfreynee, but in case you know what you need code can look like:

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.


You can require 'rake' and .load_tasks in an initializer instead.