2011-08-11 9 views
0

私は自分のアプリケーションにレーキタスクを作成しましたが、今はそのタスクをメニューのリンクからアプリケーションユーザーにアピールできるようにしたいのですが、そこから呼び出す方法はわかりません。このようなもの...?Rails 3 link_to rakeタスク

<%= link_to t('backup'), Rake::Task['backup'].invoke %> 

答えて

1

あなたはできません。 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"} 
0

あなたが言ったように、私がしようとしたが、次のエラーが表示されます。

NameError (uninitialized constant MyTasksController::Rake) 

編集答え:

を、私は最終的にこの方法でそれを行うことができます:

class MyTasksController < ApplicationController 
    def rake_it 
    system ('rake backup:db:mysql') 
    redirect_to :action => 'index', :controller => '/events' 
    end 
end 
+0

あなたがかもしれませんあなたのコントローラーに 'Rake'を押し込む必要がありますか? – andrewdotnich

関連する問題