【发布时间】:2019-12-31 15:40:47
【问题描述】:
我正在尝试将 Stripe 集成到我的项目中,但似乎得到了一个
订单中的 NoMethodError#new undefined method `[ ]' for nil:NilClass" 错误。
我不知道如何解决这个问题。有人可以帮忙吗?
这是我在 new.html.erb 中的 Stripe 脚本
<script>
var stripe = Stripe("<%= Rails.application.credentials.stripe[Rails.env.to_sym][:stripe_secret_key] %>")
var elements = stripe.elements()
var card = elements.create("card")
card.mount("#card")
</script>
这就是我的凭据代码的样子
stripe:
development:
stripe_public_key: xxxxxxxxxxxxxxxxxx
stripe_secret_key: xxxxxxxxxxxxxxxxxx
test:
stripe_public_key: xxxxxxxxxxxxxxxxxx
stripe_secret_key: xxxxxxxxxxxxxxxxxx
production:
stripe_public_key: xxxxxxxxxxxxxxxxxx
stripe_secret_key: xxxxxxxxxxxxxxxxxx
【问题讨论】:
-
错误信息表示
Rails.application.credentials.stripe为nil 或Rails.application.credentials.stripe[Rails.env.to_sym]为nil -
在 Rails 控制台中尝试它们并确保它们都返回值,当您找到不知道要修复什么的那个时
-
对不起新手,如何在 Rails 控制台中查看?
-
好的,我已经完成了 rails c 并添加了
Rails.application.credentials.stripe和Rails.application.credentials.stripe[Rails.env.to_sym],但他们都没有提出任何建议。 -
这意味着您的密钥没有被保存,请尝试按照dev.to/ksushiva/integrate-stripe-in-your-ruby-on-rails-app-3dc4中的配置步骤进行操作
标签: ruby-on-rails ruby stripe-payments