アプリケーションで rake タスクを作成しました。アプリケーション ユーザーがメニューのリンクからタスクにアクセスできるようにしたいのですが、そこからタスクを呼び出す方法がわかりません。このようなもの...?
<%= link_to t('backup'), Rake::Task['backup'].invoke %>
アプリケーションで rake タスクを作成しました。アプリケーション ユーザーがメニューのリンクからタスクにアクセスできるようにしたいのですが、そこからタスクを呼び出す方法がわかりません。このようなもの...?
<%= link_to t('backup'), Rake::Task['backup'].invoke %>
あなたはそれをすることはできません。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"} %>
仰る通りにしてみましたが、次のエラーが表示されます。
NameError (uninitialized constant MyTasksController::Rake)
回答を編集:
私は最終的にこの方法でそれを行うことができました:
class MyTasksController < ApplicationController
def rake_it
system ('rake backup:db:mysql')
redirect_to :action => 'index', :controller => '/events'
end
end