簡體   English   中英

測試是否存在 rails rake 任務的命令行參數的邏輯?

[英]Logic to test whether a command line argument to a rails rake task is present?

我有一個 rake 任務,它返回給定電子郵件的記錄計數。 電子郵件作為命令行參數提供給 rake 任務,就像這樣

rake stats:count email=me@gmail.com

但是,如果在沒有提供電子郵件的情況下調用 rake 任務(即rake stats:count ),我希望顯示有用的消息,例如“請提供電子郵件”

我該怎么做呢?

我試過這個

email = ENV['email']
if email.nil? puts "Please provide an email"
end

但它出現NameError: undefined local variable or method email' for main:Object

通過var=value提供給 rake 任務的參數可以在 rake 任務中使用ENV['var']

如果未提供參數, ENV['var']將返回nil

所以你可以簡單地檢查ENV['email'].nil?

IE

if ENV['email'].nil?
  puts "Please provide an email" 
else
  # code to run if email is provided
end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM