2015-09-06 46 views
2

我有一個rails應用程序,我試圖在控制器中使用一個環境變量(API key),它失敗了。調試顯示它的價值爲零。奇怪的是,該文件中的其他鍵是可訪問的,所以我並不真正理解爲什麼。他們都在我的secrets.yml文件。有些環境變量可以訪問,有些則不可以?

我試過使用ENV["STRIPE_TEST_SECRET_KEY"]Rails.application.secrets.stripe_test_secret_key來訪問它,並且都返回nil。使用更好的錯誤寶石

No API key provided. Set your API key using "Stripe.api_key = <API-KEY>". You can generate API keys from the Stripe web interface. See https://stripe.com/api for details, or email [email protected] if you have any questions.

:我得到的錯誤。我如何在整個應用程序中使這些可用?

回答

1

您需要在運行Rails應用程序的環境中設置STRIPE_TEST_SECRET_KEY

查看Choices gem,它使覆蓋環境變得非常簡單。

您可以設置ENV瓦爾的CLI中發展是這樣的:

$ STRIPE_TEST_SECRET_KEY=abc123 rails s 

如果您正在使用Rbenv,你可以在你的項目中包含每行一個的環境變量的根目錄中創建一個.rbenv-vars文件像這樣:

DATABASE_URL=mysql://db_user:[email protected]:3306/dev_db 
STRIPE_TEST_SECRET_KEY=abc123 
SOME_OTHER_VAR=foo 
+0

我'STRIPE_LIVE_SECRET_KEY'是可讀的,還有我的''STRIPE_LIVE_PUBLISHABLE_KEY ...一定有東西,我跟他們這樣做,使他們可以與出使用寶石。有沒有一個終端命令來完成這個? – HolyMoly

+0

您可以在用於在開發中啓動您的Rails服務器的命令行上設置env vars。我會將其添加到我的答案中。 –

+0

看起來很熟悉!讓我一起去! – HolyMoly

相關問題