【发布时间】:2011-08-11 15:22:49
【问题描述】:
我在我的应用程序中创建了一个 rake 任务,现在我希望应用程序用户可以通过菜单上的链接访问该任务,但我不知道如何从那里调用它。像这样……?
<%= link_to t('backup'), Rake::Task['backup'].invoke %>
【问题讨论】:
标签: ruby-on-rails-3 link-to rake-task
我在我的应用程序中创建了一个 rake 任务,现在我希望应用程序用户可以通过菜单上的链接访问该任务,但我不知道如何从那里调用它。像这样……?
<%= link_to t('backup'), Rake::Task['backup'].invoke %>
【问题讨论】:
标签: ruby-on-rails-3 link-to rake-task
我按照你说的尝试了,但是出现下一个错误:
NameError (uninitialized constant MyTasksController::Rake)
编辑答案:
我终于可以这样做了:
class MyTasksController < ApplicationController
def rake_it
system ('rake backup:db:mysql')
redirect_to :action => 'index', :controller => '/events'
end
end
【讨论】:
你做不到。 Link_to 可以链接到静态或控制器动作。因此,您需要创建一些操作,您可以在其中调用您的 Rake 任务。
class MyTasksController < ApplicationController
def rake_it
Rake::Task['backup'].invoke
end
end
<%= link_to t("backup"), {:controller => :my_tasks, :action => "rake_it"} %>
【讨论】: