2

加載環境變量我試圖調試問題secrets.yml加載環境變量,通過開發設置一些環境變量和運行rails c檢查的事情。當我通過這種方式加載Rails.applications.secrets時,它沒有拾取我設置的任何環境變量(即,SECRET_KEY_BASERails的控制檯不會secrets.yml

如果我使用相同的環境變量設置運行該應用程序,它會將它們選中(我使用RubyMine的運行應用程序,但是從終端運行rails c

在我的rails控制檯,我可以看到環境變量,我使用ENV['SECRET_KEY_BASE']設置,但它並沒有在Rails.application.secrets露面。爲什麼?

回答

5

TL; DR:spring stop

原來,因爲已經發生了很多次,當事情不作任何意義上說,春天是罪魁禍首!我通過運行spring stop,然後再次嘗試解決這個問題(感謝a related discussion),之後它完美!

顯然春被緩存的環境,或者Rails應用程序的某些部分,而忽略了重新加載它們當環境變量發生變化。

+1

看到在春季庫這個問題:https://github.com/rails/spring/issues/490 – mltsy

+1

呀春天是煩人。這就是爲什麼我每次都使用--skip-spring來啓動我的rails應用程序。 – dpalazzari

+0

有趣,direnv(https://github.com/direnv/direnv)不工作的正常運行,因爲這一點,現在的作品!謝謝 – Pierre