[解決済み] [Railsで環境を指定してRakeタスクに引数を渡すには?[重複している]。
2022-04-08 23:31:33
質問
<余談
以下のように引数を渡すことができるようになりました。
desc "Testing args"
task: :hello, :user, :message do |t, args|
args.with_defaults(:message => "Thanks for logging on")
puts "Hello #{args[:user]}. #{:message}"
end
Railsアプリケーションの現在の環境も読み込むことができました
desc "Testing environment"
task: :hello => :environment do
puts "Hello #{User.first.name}."
end
私がやりたいのは、変数と環境を持つことができることです。
desc "Testing environment and variables"
task: :hello => :environment, :message do |t, args|
args.with_defaults(:message => "Thanks for logging on")
puts "Hello #{User.first.name}. #{:message}"
end
しかし、それは有効なタスクコールではありません。どうすれば実現できるか、ご存知の方はいらっしゃいますか?
どのように解決するのですか?
TLDR
task :t, [args] => [deps]
オリジナル回答
rake のタスクに引数を渡すとき、:needs オプションを使って環境を要求することができます。 例えば、以下のようになります。
desc "Testing environment and variables"
task :hello, :message, :needs => :environment do |t, args|
args.with_defaults(:message => "Thanks for logging on")
puts "Hello #{User.first.name}. #{args.message}"
end
以下の@Peiniauさんのコメントに従って更新しました。
Rails 3.1に関しては
task :t, arg, :needs => [deps] # deprecated
をご利用ください。
task :t, [args] => [deps]
関連
-
[解決済み】ActionController::InvalidAuthenticityTokenについて
-
[解決済み] Railsです。NameError: 初期化されていない定数
-
[解決済み] Ruby on Railsのためにnetbeansを構成する方法は?
-
[解決済み] Railsマイグレーションを利用してカラムをドロップする方法
-
[解決済み] Ruby on Railsのマイグレーションでデータベースのカラムの名前を変更するにはどうすればよいですか?
-
[解決済み] Ruby on Railsで現在の絶対URLを取得するにはどうすればよいですか?
-
[解決済み] Ruby on RailsでJSON出力を "きれい "にフォーマットする方法
-
[解決済み] Rails DBの移行 - テーブルを削除するには?
-
[解決済み】rakeタスクにコマンドライン引数を渡す方法
-
[解決済み】rakeタスクから早く戻るにはどうしたらいいですか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Rails: sudo "コマンドが認識されないのはなぜですか?
-
[解決済み】Rails。Ruby on Railsの移行でデータベースカラムの名前を変更するにはどうすればよいですか?
-
[解決済み] nil:NilClass の未定義メソッド `each'... なぜでしょうか?
-
[解決済み] Railsです。NameError: 初期化されていない定数
-
[解決済み] どのようにrailsでラジオボタンを正しく使用するには?
-
[解決済み] Ruby on Railsのためにnetbeansを構成する方法は?
-
[解決済み] Railsです。gemを使った特定バージョンのライブラリのアンインストール
-
[解決済み] Railsはsaveでモデル内の検証をスキップしますか?
-
[解決済み] Railsでグループとカウント
-
[解決済み】rakeタスクにコマンドライン引数を渡す方法