0
我在我的應用程序中創建了一個rake任務,現在我希望任務可以從菜單上的鏈接訪問應用程序用戶,但我不知道如何從那裏調用它。像這樣的...?Rails 3 link_to rake任務
<%= link_to t('backup'), Rake::Task['backup'].invoke %>
我在我的應用程序中創建了一個rake任務,現在我希望任務可以從菜單上的鏈接訪問應用程序用戶,但我不知道如何從那裏調用它。像這樣的...?Rails 3 link_to rake任務
<%= link_to t('backup'), Rake::Task['backup'].invoke %>
你不能這樣做。 Link_to可以鏈接到靜態或控制器動作。所以你需要創建一些動作,在那裏你可以調用你的Rake Task。
class MyTasksController < ApplicationController
def rake_it
Rake::Task['backup'].invoke
end
end
<%= link_to t("backup"), {:controller => :my_tasks", :action => "rake_it"}
我試着像你說的,但接下來出現的錯誤:
NameError (uninitialized constant MyTasksController::Rake)
編輯答案:
我終於可以通過這種方式做到這一點:
class MyTasksController < ApplicationController
def rake_it
system ('rake backup:db:mysql')
redirect_to :action => 'index', :controller => '/events'
end
end
你可能需要在你的控制器中推送'包括Rake'? – andrewdotnich