【发布时间】:2019-03-30 14:50:11
【问题描述】:
我正在尝试为 Stripe Elements 存储我的 API 密钥。您可以在此处查看我之前的帖子:Using javascript for Stripe Elements
如您所见,Stripe 元素没有与 Stripe 中的 JS 或我的 stripejs.js 文件一起显示。
我假设它的 https://js.stripe.com/v3/ 由于我的 API 密钥存储不正确而没有以某种方式显示。我目前将我的 API 密钥存储在由 dotenv gem 管理的 .env 文件中
我正在尝试使用 credentials.yml.enc 存储我的 API 密钥,但不确定我是否正确。
我的工作:
在 CMD 中调用“EDITOR=atom rails credentials:edit”。 原子弹出。 我通过以下方式存储 API 密钥: PUBLISHABLE_KEY = pk_test_1111111111111111111 SECRET_KEY = sk_test_11111111111111111111
保存文件。 退出。
虽然,它不会工作。我没有正确存储它吗?做错了什么?
在我的初始化器下的 stripe.rb 文件中是:
Rails.configuration.stripe = {
:publishable_key => ENV['PUBLISHABLE_KEY'],
:secret_key => ENV['SECRET_KEY']
}
Stripe.api_key = Rails.configuration.stripe[:secret_key]
编辑:
我的 stripe.rb 文件结构如下:
Rails.configuration.stripe = {
:publishable_key => Rails.application.credentials.stripe[:publishable_key],
:secret_key => Rails.application.credentials.stripe[:secret_key]
}
Stripe.api_key = Rails.configuration.stripe[:secret_key]
然后像这样保存我的凭据文件:
stripe:
publishable_key: 123456789
secret_key: 123456789
然后我在启动我的服务器时收到错误:
undefined method \credentials' for Rails:Module (NoMethodError)`
我做错了什么吗?
尝试:2:
我尝试在 stripe.rb 文件中做...
Rails.configuration.stripe = {
Rails.application.credentials.stripe[:publishable_key],
Rails.application.credentials.stripe[:secret_key]
}
Stripe.api_key = Rails.configuration.stripe[:secret_key]
最后一次有和没有......我收到错误:“语法错误,意外'}',期待输入结束”
更新:
如果有人遇到类似问题...
对我来说,是引导程序导致了问题。您需要做的就是在 Stripe Elements 表单中使用 class="form-control" 以使其正确显示 - 如果您使用的是 Bootstrap。
【问题讨论】:
标签: javascript ruby-on-rails ruby stripe-payments