0
我試圖根據我在測試/開發或生產中使用不同的條帶鍵(信用卡支付處理系統)/根據我在StackOverflow上看到的建議,我做了以下:Rails:常量不初始化
在我/config/initalizers/stripe.rb文件,我有以下幾點:
STRIPE_CONFIG = begin
config = YAML.load(File.open(Rails.root.join('config', 'stripe.yml')))
config = config[Rails.env] || {}
config.to_options
end
,在我/config/stripe.yml文件,我有以下幾點:
default: &default
Stripe.api_key: "testapikeycode"
STRIPE_PUBLIC_KEY: "testpublickeycode"
development:
<<: *default
test:
<<: *default
production:
Stripe.api_key: "productionapikeycode"
STRIPE_PUBLIC_KEY: "productionpublickeycode"
然而,當我去到控制檯(軌控制檯),以及I型
puts STRIPE_PUBLIC_KEY
我收到以下錯誤信息:
NameError: uninitialized constant STRIPE_PUBLIC_KEY
任何想法?
替代方法
只使用stripe.rb,並在它下面的:
if Rails.env == 'production'
Stripe.api_key: "productionapikeycode"
STRIPE_PUBLIC_KEY: "productionpublickeycode"
else
Stripe.api_key: "tesapikeycode"
STRIPE_PUBLIC_KEY: "testpublickeycode"
end
YAML.load的作品。我最終沒有使用這個,看到我原來的問題的意見 – EastsideDeveloper