ruby-on-rails - 使用 dotenv env for stripe 提供的 API 密钥无效
问题描述
我的 env 文件包含正确的测试代码。然后我将以下内容添加到我的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 文件是否没有访问 assets/javascript,或者发生了什么导致条带键无法通过?
使用 js.erb 可以在本地工作,但不能在 heroku 上进行生产。我试过了:
gem 'dotenv-rails', groups: [:development, :test, :production]
和
Rails.application.config.assets.precompile << '*.js.erb'
两者都不适用于heroku的生产。ENV 无法正常工作并进入生产阶段。
解决方案
推荐阅读
- angular - 如何使用 NgDatePicker Angular 在 startDate 中处理 Duedate
- vb.net - 循环启动时串行通信停止工作
- python - RuntimeError:任务的产量不好:
- c++ - 如何解决多线程绘制不流畅的问题?
- sql - 进行多次插入时如何获取插入的 NewSequentialId 值?
- windows - 未找到 C++/CX UWP Windows 桌面 API
- oauth - OAuth 2.0 客户端 ID
- javascript - 使用按钮 onclick 强制触发事件侦听器
- node.js - ERROR { MongoError: Unknown modifier: $pushAll 使用 mongoose 更新时
- php - 从日志文件中读取选定的列