我的环境文件中包含正确的测试代码。然后,我在stripe.rb
中添加了以下内容:
Rails.configuration.stripe = {
:publishable_key => ENV['STRIPE_PUBLISHABLE_KEY'],
:secret_key => ENV['STRIPE_SECRET_KEY']
}
Stripe.api_key = Rails.configuration.stripe[:secret_key]
在我的环境文件中:
export STRIPE_PUBLISHABLE_KEY=pk_test_x
export STRIPE_SECRET_KEY=sk_test_x
我尝试使用和不使用export
以及使用和不使用引号。
然后在我的stripe.js文件的开头
var stripe = Stripe("<%= ENV['STRIPE_PUBLISHABLE_KEY']%>");
我认为这是问题所在,因为当我在stripe.js文件中手动输入条纹密钥时,它可以工作。
env文件是否无法访问资产/ javascript,或者正在发生什么事情导致带区密钥无法通过?
使用js.erb可以在本地工作,但不能在heroku上的生产环境中使用。我尝试过:
gem 'dotenv-rails', groups: [:development, :test, :production]
和
Rails.application.config.assets.precompile << '*.js.erb'
两者在heroku上的生产中均不起作用。 ENV无法正常工作,无法投入生产。