task :some_task, :environment do |t, args|
puts Rails.env #=> development, production, etc
puts ENV #=> {}
end
Tôi đặt một số biến môi trường (qua địa chỉ .env hoặc qua Heroku Config qua Herokusan), chẳng hạn như AWS bucket để sử dụng và tôi muốn tham chiếu chúng trong cào nhiệm vụ, nhưng ENV là một băm rỗng. Tôi biết một cái gì đó liên quan đến môi trường được thực hiện vì sự phụ thuộc nhiệm vụ :environment
và rằng Rails.env
có một giá trị, nhưng tôi không rõ ràng về các chi tiết.Sử dụng biến môi trường trong nhiệm vụ Rake
Vì vậy, làm cách nào tôi có thể sử dụng ENV
trong tác vụ Rake?
Làm thế nào bạn có đang chạy nhiệm vụ này? ENV là một điều cốt lõi của Ruby, vì vậy nó luôn luôn phản ánh các biến môi trường có sẵn của bạn. –
'$ rake some_task' trong thư mục ứng dụng. Một số 'ENV' nằm trong' .env', và tôi có thể cần phải làm '$ foreman run rake task' cho công cụ Heroku. – Narfanator
@Narfanator bạn nên trả lời câu trả lời này như một câu trả lời thực tế để tôi có thể upvote bạn. Chạy '$ foreman run rake some_task' là câu trả lời đúng –