[解決済み】rakeタスクにコマンドライン引数を渡す方法
2022-03-23 01:27:25
質問
複数のデータベースに値を挿入する必要があるrakeタスクがあります。
この値を rake タスクに渡すには、コマンドラインから、あるいは 別の タスクになります。
どうすればいいのでしょうか?
どのように解決するのですか?
オプションと依存関係は、配列の中にある必要があります。
namespace :thing do
desc "it does a thing"
task :work, [:option, :foo, :bar] do |task, args|
puts "work", args
end
task :another, [:option, :foo, :bar] do |task, args|
puts "another #{args}"
Rake::Task["thing:work"].invoke(args[:option], args[:foo], args[:bar])
# or splat the args
# Rake::Task["thing:work"].invoke(*args)
end
end
次に
rake thing:work[1,2,3]
=> work: {:option=>"1", :foo=>"2", :bar=>"3"}
rake thing:another[1,2,3]
=> another {:option=>"1", :foo=>"2", :bar=>"3"}
=> work: {:option=>"1", :foo=>"2", :bar=>"3"}
注:変数
task
はタスクオブジェクトで、Rake の内部を知らない/気にしない限り、あまり役に立ちません。
RAILSの注意事項。
Railsからタスクを実行する場合、環境を事前にロードしておくとよいでしょう。
=> [:environment]
を設定する方法である。 依存 タスクになります。
task :work, [:option, :foo, :bar] => [:environment] do |task, args|
puts "work", args
end
関連
-
[解決済み] Bashスクリプトで引数を反復処理する方法
-
[解決済み] Ruby で PDF 文書を解析する
-
[解決済み] Node.jsのプログラムにコマンドライン引数を渡すにはどうしたらいいですか?
-
[解決済み] Windowsのコマンドラインに'which'に相当するものはありますか?
-
[解決済み] MySQLでコマンドラインを使用してSQLファイルをインポートするにはどうすればよいですか?
-
[解決済み] Bashでコマンドライン引数を解析するには?
-
[解決済み] Bashでコマンドの出力に変数を設定するにはどうすればよいですか?
-
[解決済み] MySQLでコマンドラインを使用してユーザーアカウントのリストを取得するにはどうすればよいですか?
-
[解決済み] コマンドラインから .bash_profile を再読み込みする方法は?
-
[解決済み] コマンドライン引数の読み方・処理方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Rubyで "gets "と "gets.chomp "を使用する方法
-
[解決済み] Rubyでファイルをあるディレクトリから別のディレクトリにコピーする
-
[解決済み] Ruby 'require' エラー: そのようなファイルをロードできない
-
[解決済み] Rubyの除算はなぜ10進数ではなく整数を返すのですか?
-
[解決済み] nil:NilClass のための未定義のメソッド `+' (NoMethodError)
-
[解決済み] Rubyで日付文字列をパースする
-
[解決済み] rubyでディレクトリからすべてのファイルを要求する最良の方法?
-
[解決済み] Rubyでfailキーワードは何をするのですか?
-
[解決済み] Ruby で配列の順序を逆転させる
-
[解決済み] [Railsで環境を指定してRakeタスクに引数を渡すには?[重複している]。