14

というファイルで次のようにrakeタスクを定義しましたfile_locker_task.rake

namespace :myspace do
   task :process => :environment do
      FileLocker.lock_files   
   end
end

コマンドラインからこの rake タスクを実行するにはどうすればよいですか? 私は試した:

rake myspace:processしかし、rake process両方とも次のようなエラーをスローしています:

rake aborted!
Don't know how to build task 'process'
4

2 に答える 2

26
  1. Rails ホーム ディレクトリから実行rake -T -Aして、rake が認識しているすべてのタスクを確認します。rake が実行するには、あなたのものがそのリストに含まれている必要があります。
  2. デフォルトでは、Rails アプリでは、rake はlib/tasksディレクトリとそのサブディレクトリで.rakeファイルを探します。それを確認します。(これが問題だと思います。)
于 2013-10-09T03:25:16.780 に答える
-1

ドキュメントによると

Ruby ファイル (他の rakefile を含む) は、標準の Rubyrequireコマンドでインクルードできます。

-

追加の rake ファイル (ファイル拡張子「.rake」付き) は、プロジェクトの最上位にある rakelib ディレクトリ (つまり、メインの Rakefile を含むディレクトリと同じディレクトリ) に配置できます。また、Rails プロジェクトには、lib/tasks ディレクトリに追加の rake ファイルが含まれている場合があります。

于 2013-10-09T03:42:24.913 に答える