5
Rakeタスクを実行するときに特定のイニシャライザを実行したいが、Railsサーバを実行していないときは実行したい。Rakeタスク専用のイニシャライザを実行
Rakeの呼び出しとサーバーの呼び出しを区別する最適な方法は何ですか?
Rakeタスクを実行するときに特定のイニシャライザを実行したいが、Railsサーバを実行していないときは実行したい。Rakeタスク専用のイニシャライザを実行
Rakeの呼び出しとサーバーの呼び出しを区別する最適な方法は何ですか?
Rakeでは、タスクの依存関係を指定できます。レーキ固有の初期化を独自のタスクに入れて、それを「環境」タスクに依存させることをお勧めします。たとえば:あなたは私たちが適切なレールのために持っているように初期化スクリプトのすくい固有のディレクトリを作成したい場合は
namespace :myapp do
task :custom_environment => :environment do
# special initialization stuff here
# or call another initializer script
end
task :my_task => :custom_environment do
# perform actions that need custom setup
end
end
、私達はちょうど私たちの:custom_environment
タスクでこれを実装します。
task :custom_environment => :environment do
Dir.glob("config/rake-initializers/*.rb").each do |initializer|
require initializer
end
end
これにより、レーキ固有のイニシャライザを通常のイニシャライザとは別に保つことができます。設定した:custom_environment
に依存することを忘れないでください。